work-hub-server/openspec/changes/archive/2026-06-22-project-crud-sync/tasks.md
Nicolas HOARAU 98c282834c
All checks were successful
ci / ci (22) (pull_request) Successful in 10m58s
archived specs
2026-06-22 21:29:25 +04:00

1.6 KiB

1. Database & Infrastructure Setup (Mandatory First Step)

  • 1.1 Dockerization: Create a root docker-compose.yml (work-hub-server/docker-compose.yml) that declares a PostgreSQL service and named volumes for persistence. Do NOT include API or Web app containers — they run natively during development.
  • 1.2 Persistence: Define and map persistent volumes in the root docker-compose.yml to ensure project data survives container restarts.
  • 1.3 CLI Utility: Implement a dedicated command/utility (e.g., db:setup) that orchestrates the execution of migrations and seeding, ensuring idempotency.

2. API Layer Implementation (API)

  • 2.1 Scaffolding: Use the Nest CLI (nest generate resource) to create the basic resource structure for Project (Controller, Service, Module). This ensures adherence to module structure, dependency injection patterns, and common boilerplate across all APIs in the monorepo.
  • 2.2 Implement necessary request validation using Schema-Driven Pipes that import their structure from @workspace/schema, ensuring consistency between API and Web layers.

3. Web Layer Implementation (Web)

  • 3.1 Update apps/web store/composables to call the new API endpoints and manage state correctly following successful write or delete operations.

4. Testing & Tooling

  • 4.1 Write comprehensive unit tests covering the Controller, the Service, and the Repository layers.
  • 4.2 Update E2E test suites to verify complete CRUD workflows via HTTP calls and UI interactions, ensuring the service layer is correctly tested against a containerized DB.