Description of your take-home assignment can be found in
TASK_DESCRIPTION.md
.
- Install dependencies:
npm install
- Start Docker containers:
docker-compose up -d
- Run database migrations:
npm run prisma:generate
npm run prisma:migrate
- Seed the database:
npm run seed
- Start the application:
npm run start:dev
The API will be available at http://localhost:3000
- GET /tasks - List all tasks with filters
- GET /tasks/:id - Get a single task
- POST /tasks - Create a new task
- PUT /tasks/:id - Update a task
- DELETE /tasks/:id - Delete a task
- GET /projects - List all projects
- GET /users - List all users
The GET /tasks endpoint supports the following query parameters:
- status: TODO, IN_PROGRESS, COMPLETED, CANCELLED
- priority: LOW, MEDIUM, HIGH, URGENT
- assigneeId: UUID of the assignee
- projectId: UUID of the project
- dueDateFrom: ISO date string
- dueDateTo: ISO date string
Example: GET /tasks?status=TODO&priority=HIGH