Covers User Management, Task Management, Project/Board Management, Status Tracking, Authentication, Roles, etc.
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/register |
Create a new user account |
| POST | /auth/login |
Issue JWT tokens |
| POST | /auth/logout |
Invalidate refresh token |
| POST | /auth/refresh |
Refresh access token |
POST /auth/register
{
"name": "Pranav",
"email": "pranav@example.com",
"password": "secure123"
}Response:
{
"id": "uuid",
"name": "Pranav",
"email": "pranav@example.com",
"createdAt": "timestamp"
}POST /auth/login
{
"email": "pranav@example.com",
"password": "secure123"
}Response:
{
"accessToken": "jwt",
"refreshToken": "jwt",
"user": {
"id": "uuid",
"name": "Pranav",
"email": "pranav@example.com",
"role": "lead"
}
}| Method | Endpoint | Description |
|---|---|---|
| GET | /users/me |
Get logged-in user |
| GET | /users/:id |
Get specific user profile |
| GET | /users |
List users (filter by role/team) |
| PATCH | /users/:id |
Update user (name, role, status) |
| DELETE | /users/:id |
Soft delete user |
{
"id": "uuid",
"name": "string",
"email": "string",
"role": "admin | lead | member",
"status": "active | busy | unavailable",
"currentLocation": "string",
"tasksAssigned": 4,
"createdAt": "timestamp"
}(Equivalent to GitHub Projects or Jira Boards)
| Method | Endpoint | Description |
|---|---|---|
| POST | /projects |
Create project |
| GET | /projects |
List all projects |
| GET | /projects/:id |
Get project |
| PATCH | /projects/:id |
Update name, details |
| DELETE | /projects/:id |
Delete project |
| GET | /projects/:id/users |
Users assigned to project |
{
"id": "uuid",
"name": "Hackathon Tasks",
"description": "Manage tasks for hackathon",
"createdBy": "uuid",
"createdAt": "timestamp"
}| Method | Endpoint | Description |
|---|---|---|
| POST | /tasks |
Create a new task |
| GET | /tasks |
Get tasks (filter by project, user) |
| GET | /tasks/:id |
Get task details |
| PATCH | /tasks/:id |
Update task |
| PATCH | /tasks/:id/status |
Move task across board columns |
| DELETE | /tasks/:id |
Delete task |
{
"id": "uuid",
"title": "Get snacks for participants",
"description": "Visit vendor and get items",
"projectId": "uuid",
"assignedTo": "uuid",
"priority": "low | medium | high",
"status": "todo | in-progress | blocked | completed",
"tags": ["outside", "urgent"],
"createdAt": "timestamp"
}| Method | Endpoint | Description |
|---|---|---|
| POST | /tasks/:id/comments |
Add comment |
| GET | /tasks/:id/comments |
List comments |
| DELETE | /comments/:id |
Delete comment |
{
"id": "uuid",
"taskId": "uuid",
"authorId": "uuid",
"message": "string",
"createdAt": "timestamp"
}(Useful for hackathon organizers to see who is free/busy)
| Method | Endpoint | Description |
|---|---|---|
| PATCH | /users/:id/status |
Update availability |
| PATCH | /users/:id/location |
Update location (room, venue, building) |
| GET | /users/status/all |
List statuses of all users |
{
"userId": "uuid",
"status": "active | busy | on-break",
"currentLocation": "Hall A / Outside / Unknown",
"updatedAt": "timestamp"
}| POST | /notifications/send
Manual or system-triggered notification
{
"userId": "uuid",
"title": "New Task Assigned",
"message": "You have been assigned Task #24"
}