- Register: POST /api/users/signup
- Login: POST /api/users/signin
- Get All Projects: GET /api/projects
- Create Project: POST /api/projects
- Get All Projects by User: GET /api/projects/user/[userID]
- Get Project by ID: GET /api/projects/project/[projectID]
- Update Project: PATCH /api/projects/project/[projectID]
- Delete Project: DELETE /api/projects/project/[projectID]
- Get Tasks by Project: GET /api/projects/project/[projectID]/tasks
- Create Task: POST /api/tasks/
- Get Task by ID: GET /api/tasks/[taskID]
- Patch Task: PATCH /api/tasks/[taskID]
- Delete Task: DELETE /api/tasks/[taskID]
- Zustand Auth store
- Zustand Project store
- Zustand Task store
- Home page
- Sign In page
- Sign Up page
- Layouts
- Dashboard page
- Project page
- Update User Schema
- Update User operations
- Update Project Schema
- Update Project operations
- Update Task Schema
- Update Task operations
- Add contributor to Project: PATCH /api/projects/project/[projectID]
- Add contributor to Project: PATCH ProjectStore
- Get User Contributor object: GET /api/users/[userID]
- Add contributor to Project: UI
- Add/Remove contributor to Task: PATCH /api/tasks/[taskID]
- Show shared projects @ Projects page
- Add/Remove contributor to Task: ProjectStore
- Add/Remove contributor to Task: UI
- Add/Remove contributor to Task: PATCH /api/tasks/[taskID]
- Add/Remove contributor to User friends list: PATCH /api/users/[userID]
- Add/Remove contributor to User friends list: User Store
- Add/Remove contributor to User friends list: UI
. ├── projects │ ├── project │ │ └── [projectId] │ │ ├── route.ts () │ │ └── tasks │ │ └── route.ts * │ ├── route.ts * │ └── user │ └── [userId] │ └── route.ts * ├── tasks │ ├── route.ts * │ └── [taskId] │ └── route.ts * └── users ├── refresh │ └── route.ts () ├── search │ └── [login] │ └── route.ts * ├── signin │ └── route.ts ├── signup │ └── route.ts └── [userID] └── route.ts *