work-hub-server/openspec/changes/project-crud-sync/tasks.md
Nicolas HOARAU aec3f2ff98
Some checks failed
ci / ci (22) (pull_request) Failing after 5m17s
feat(project-crud-sync): add planning artifacts for CRUD project lifecycle
- proposal.md: defines scope and motivation for unified CRUD operations
- design.md: documents architecture decisions (Postgres, Docker Compose,
  Nest CLI scaffolding, Schema-Driven Pipes from @workspace/schema)
- specs: contract for project lifecycle management, migrations and seeding
- tasks: implementation checklist covering infra, API, Web and testing
2026-06-12 23:15:55 +04:00

20 lines
1.6 KiB
Markdown

## 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.