Some checks failed
ci / ci (22) (pull_request) Failing after 5m17s
- 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
20 lines
1.6 KiB
Markdown
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.
|