From ee38fa256d5a6d09e72b06cfbd720204d18e8a71 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Thu, 5 Feb 2026 16:01:34 -0300 Subject: [PATCH] docs: update CLAUDE.md with current project context (#5) * docs: update CLAUDE.md with current project context - Remove non-existent angular/ directory reference - Update Java version from 17 to 21 - Update Spring Boot version to 3.5.9 - Remove outdated OpenAPI/Swagger documentation reference - Update docker-compose file references (dev vs prod) - Add React 19 and React Router v7 information - Add Taskfile.yml to development workflow section - Reorganize development workflow with manual and Taskfile options Fixes #4 Co-authored-by: Ricardo Campos * fix: update Taskfile commands in CLAUDE.md - Change task dev to task dev-run - Change task prod to task prod-up - Split task docker-build into task docker-build-api and task docker-build-web - Add task -l command to list all available tasks Co-authored-by: Ricardo Campos --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Ricardo Campos --- CLAUDE.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 92f9c5d..156db18 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -40,12 +40,13 @@ bash tools/check-backend.sh # Run backend quality checks ### Monorepo Structure - `client/` - React TypeScript frontend (Vite + Vitest) -- `server/` - Java Spring Boot REST API -- `angular/` - Alternative Angular frontend (separate implementation) +- `server/` - Java Spring Boot REST API - `tools/` - Development and deployment scripts -- `docker-compose.yml` - Multi-service development environment +- `docker-compose.dev.yml` / `docker-compose.prod.yml` - Multi-service development and production environments +- `Taskfile.yml` - Task automation for docker builds and workflows ### Frontend Architecture (client/) +- **Framework**: React 19 with React Router v7 - **State Management**: React Context API for authentication and sidebar state - **Authentication**: JWT tokens stored in localStorage with automatic refresh (2-minute intervals) - **Routing**: Dynamic router configuration based on auth status (signed vs not-signed routes) @@ -55,11 +56,10 @@ bash tools/check-backend.sh # Run backend quality checks - **API Layer**: Centralized API service in `src/api-service/api.ts` with automatic auth headers ### Backend Architecture (server/) -- **Framework**: Spring Boot 3.5+ with Java 17 +- **Framework**: Spring Boot 3.5.9 with Java 21 - **Security**: Spring Security with JWT authentication -- **Database**: PostgreSQL with JPA/Hibernate and Flyway migrations +- **Database**: PostgreSQL with JPA/Hibernate and Flyway migrations - **Testing**: Separate unit tests and integration tests with 75% coverage requirement -- **Documentation**: OpenAPI/Swagger UI available at `/swagger-ui.html` - **Build Options**: Traditional JAR or GraalVM native image compilation ### Key Components @@ -78,11 +78,23 @@ bash tools/check-backend.sh # Run backend quality checks ## Development Workflow +### Manual Setup 1. Start database: `bash tools/run-docker-db.sh` 2. Start backend: `bash tools/run-docker-server.sh` or `cd server && ./mvnw spring-boot:run` 3. Start frontend: `bash tools/run-docker-client.sh` or `cd client && npm start` 4. Access app at http://localhost:5000 +### Using Taskfile +Alternatively, use the Taskfile.yml for automated workflows: +```bash +task dev-run # Start development environment (docker-compose.dev.yml) +task prod-up # Start production environment (docker-compose.prod.yml) +task docker-build-api # Build server Docker image +task docker-build-web # Build app Docker image +task -l # List all available tasks +``` + +### Quality Checks Always run quality checks before submitting changes: - Frontend: `bash tools/check-frontend.sh` - Backend: `bash tools/check-backend.sh`