A comprehensive project management system with task assignment and tracking capabilities.
The task management system allows users to:
- Create and assign tasks to other users
- Accept tasks assigned to them
- Edit task details (title and description)
- Mark tasks as complete when finished
- Approve or reject completed tasks with feedback
- Reassign tasks to different users
- Delete tasks when no longer needed
-
Start the backend server:
cd backend npm install npm start -
Start the frontend development server:
cd frontend npm install npm run dev -
Register two users (or use existing accounts)
- One user will be the task assigner
- The other user will be the task receiver
-
Login as the assigner:
- Navigate to the Tasks page from the navbar
- Click "Create Task"
- Fill in the task details and select the receiver
- Submit the form
-
Login as the receiver:
- Navigate to the Tasks page
- You should see the assigned task
- Click "Accept" to start working on it
- After completing the work, click "Mark Complete"
-
Login as the assigner again:
- Navigate to the Tasks page
- Find the completed task
- Click "View Details"
- Click "Review" to approve or reject the task
- Add remarks if needed
-
Additional actions to test:
- Edit task details
- Reassign the task to another user
- Delete a task
| Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/v1/tasks | Create and assign a new task | Any user |
| GET | /api/v1/tasks | Get all tasks for current user | Any user |
| GET | /api/v1/tasks/:id | Get a specific task by ID | Task assigner/receiver |
| PUT | /api/v1/tasks/:id | Edit a task | Task assigner |
| DELETE | /api/v1/tasks/:id | Delete a task | Task assigner |
| PATCH | /api/v1/tasks/:id/accept | Accept a task | Task receiver |
| PATCH | /api/v1/tasks/:id/complete | Mark a task as complete | Task receiver |
| PATCH | /api/v1/tasks/:id/approve | Approve/reject a task | Task assigner |
| PATCH | /api/v1/tasks/:id/reassign | Reassign a task | Task assigner |