{"id":31009223,"url":"https://github.com/nightdevilpt/task-management","last_synced_at":"2025-09-13T04:10:52.731Z","repository":{"id":311956191,"uuid":"1045319822","full_name":"NightDevilPT/task-management","owner":"NightDevilPT","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-28T01:32:08.000Z","size":291,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T02:15:31.404Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NightDevilPT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-27T01:34:00.000Z","updated_at":"2025-08-28T01:32:12.000Z","dependencies_parsed_at":"2025-08-28T02:19:56.580Z","dependency_job_id":"2110337a-c5eb-4dfe-90dc-efbca299f35c","html_url":"https://github.com/NightDevilPT/task-management","commit_stats":null,"previous_names":["nightdevilpt/task-management"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/NightDevilPT/task-management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightDevilPT%2Ftask-management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightDevilPT%2Ftask-management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightDevilPT%2Ftask-management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightDevilPT%2Ftask-management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NightDevilPT","download_url":"https://codeload.github.com/NightDevilPT/task-management/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightDevilPT%2Ftask-management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274915987,"owners_count":25373254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-13T04:10:50.326Z","updated_at":"2025-09-13T04:10:52.717Z","avatar_url":"https://github.com/NightDevilPT.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Management System\n\nOf course. This is a crucial planning step. Here's a comprehensive list of API routes you'll need to build for your Task Management System, organized by module.\n\n# Task Management System\n\nThis document lists all planned API routes for the Task Management System, organized by module. Each route includes its implementation status.\n\n---\n\n## Authentication Routes (`/api/auth/[...]`)\n\n| Method | Endpoint                    | Description                    | Status                                             |\n| :----- | :-------------------------- | :----------------------------- | :------------------------------------------------- |\n| `POST` | `/api/auth/register`        | Create a new user account      | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `POST` | `/api/auth/login`           | Login user \u0026 return JWT token  | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `POST` | `/api/auth/logout`          | Logout user (invalidate token) | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `PUT`  | `/api/auth/verify`          | Verify User                    | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `GET`  | `/api/auth/me`              | Get current user's profile     | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `PUT`  | `/api/auth/me`              | Update current user's profile  | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `POST` | `/api/auth/forgot-password` | Request password reset email   | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `POST` | `/api/auth/reset-password`  | Reset password with token      | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n\n---\n\n## User Routes (`/api/users/[...]`)\n\n| Method | Endpoint                           | Description                          | Status                                            |\n| :----- | :--------------------------------- | :----------------------------------- | :------------------------------------------------ |\n| `GET`  | `/api/users`                       | Get all users (for mentions/search)  | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`  | `/api/users/:userId`               | Get a specific user's public profile | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`  | `/api/users/me/teams`              | Get current user's teams \u0026 roles     | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`  | `/api/users/me/tasks`              | Get current user's assigned tasks    | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`  | `/api/users/me/notifications`      | Get current user's notifications     | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `PUT`  | `/api/users/me/notifications/read` | Mark notifications as read           | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n\n---\n\n## Project Routes (`/api/projects/[...]`)\n\n| Method   | Endpoint                            | Description                                                 | Status                                             |\n| :------- | :---------------------------------- | :---------------------------------------------------------- | :------------------------------------------------- |\n| `POST`   | `/api/projects`                     | Create a new project                                        | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `GET`    | `/api/projects`                     | Get all projects owned or member-associated by current user | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `GET`    | `/api/projects/:projectId`          | Get details of a specific project                           | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `PUT`    | `/api/projects/:projectId`          | Update project details (Owner only)                         | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `DELETE` | `/api/projects/:projectId`          | Delete/archive a project (Owner only)                       | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e  |\n| `GET`    | `/api/projects/:projectId/teams`    | Get all teams under a project                               | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e  |\n| `GET`    | `/api/projects/:projectId/tasks`    | Get all tasks under a project (aggregate from teams)        | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e  |\n| `GET`    | `/api/projects/:projectId/activity` | Get activity feed for a project                             | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e  |\n\n---\n\n## Team Routes (`/api/teams/[...]`)\n\n| Method | Endpoint                                 | Description                             | Status                                             |\n| :----- | :--------------------------------------- | :-------------------------------------- | :------------------------------------------------- |\n| `POST` | `/api/teams/create-team`                 | Create a new team                       | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `GET`  | `/api/teams/get-teams`                   | Get all teams current user is member of | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `GET`  | `/api/teams/get-team-by-id/:[teamId]`    | Get a specific team's details           | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n| `PUT`  | `/api/teams/update-team-by-id/:[teamId]` | Update team details (Admin only)        | \u003cp style=\"color:green; font-weight:bold;\"\u003eDONE\u003c/p\u003e |\n\n---\n\n## Task Routes (`/api/teams/:teamId/tasks/[...]`)\n\n| Method   | Endpoint                                  | Description                               | Status                                            |\n| :------- | :---------------------------------------- | :---------------------------------------- | :------------------------------------------------ |\n| `POST`   | `/api/teams/:teamId/tasks`                | Create a new task in a team               | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`    | `/api/teams/:teamId/tasks`                | Get all tasks for a team (with filters)   | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`    | `/api/teams/:teamId/tasks/:taskId`        | Get a specific task's details             | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `PUT`    | `/api/teams/:teamId/tasks/:taskId`        | Update a task                             | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `DELETE` | `/api/teams/:teamId/tasks/:taskId`        | Delete a task                             | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `PUT`    | `/api/teams/:teamId/tasks/:taskId/status` | Update task status (e.g., move on Kanban) | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `PUT`    | `/api/teams/:teamId/tasks/:taskId/assign` | Assign/unassign a task to a user          | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n\n---\n\n## Comment Routes (`/api/teams/:teamId/tasks/:taskId/comments/[...]`)\n\n| Method   | Endpoint                  | Description                 | Status                                            |\n| :------- | :------------------------ | :-------------------------- | :------------------------------------------------ |\n| `POST`   | `.../comments`            | Add a comment to a task     | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`    | `.../comments`            | Get all comments for a task | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `PUT`    | `.../comments/:commentId` | Edit a comment              | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `DELETE` | `.../comments/:commentId` | Delete a comment            | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n\n---\n\n## Attachment Routes (`/api/teams/:teamId/tasks/:taskId/attachments/[...]`)\n\n| Method   | Endpoint                        | Description                    | Status                                            |\n| :------- | :------------------------------ | :----------------------------- | :------------------------------------------------ |\n| `POST`   | `.../attachments`               | Upload a file to a task        | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`    | `.../attachments`               | Get all attachments for a task | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `DELETE` | `.../attachments/:attachmentId` | Delete an attachment           | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n\n---\n\n## Activity \u0026 Notification Routes (`/api/[...]`)\n\n| Method | Endpoint                      | Description                             | Status                                            |\n| :----- | :---------------------------- | :-------------------------------------- | :------------------------------------------------ |\n| `GET`  | `/api/teams/:teamId/activity` | Get recent activity for a team          | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n| `GET`  | `/api/me/activity`            | Get current user's global activity feed | \u003cp style=\"color:blue; font-weight:bold;\"\u003eTODO\u003c/p\u003e |\n\n---\n\n## Summary of Route Structure\n\nYour API structure will look like this in the `app/api/` directory:\n\n```\napp/api/\n├── auth/\n│   ├── register/route.ts\n│   ├── login/route.ts\n│   ├── logout/route.ts\n│   ├── me/route.ts\n│   └── ...\n├── users/\n│   ├── route.ts          # GET /api/users\n│   ├── [userId]/route.ts # GET /api/users/:userId\n│   └── me/\n│       ├── teams/route.ts\n│       ├── tasks/route.ts\n│       └── notifications/route.ts\n├── teams/\n│   ├── route.ts                      # GET, POST /api/teams\n│   ├── [teamId]/\n│   │   ├── route.ts                  # GET, PUT, DELETE /api/teams/:teamId\n│   │   ├── members/\n│   │   │   ├── route.ts              # GET /api/teams/:teamId/members\n│   │   │   └── [userId]/route.ts     # PUT, DELETE /api/teams/:teamId/members/:userId\n│   │   ├── invites/\n│   │   │   ├── route.ts              # GET, POST /api/teams/:teamId/invites\n│   │   │   └── [inviteId]/route.ts   # DELETE /api/teams/:teamId/invites/:inviteId\n│   │   └── tasks/\n│   │       ├── route.ts              # GET, POST /api/teams/:teamId/tasks\n│   │       └── [taskId]/\n│   │           ├── route.ts          # GET, PUT, DELETE /api/teams/:teamId/tasks/:taskId\n│   │           ├── comments/\n│   │           │   ├── route.ts\n│   │           │   └── [commentId]/route.ts\n│   │           └── attachments/\n│   │               ├── route.ts\n│   │               └── [attachmentId]/route.ts\n│   └── invites/\n│       └── [token]/\n│           ├── accept/route.ts\n│           └── decline/route.ts\n└── me/\n    ├── notifications/route.ts\n    └── activity/route.ts\n```\n\n**Priority Order for Implementation (MVP First):**\n\n1.  Auth Routes (`/api/auth/*`)\n2.  Team Routes (`/api/teams`, `/api/teams/[teamId]`)\n3.  Task Routes (`/api/teams/[teamId]/tasks`)\n4.  Comment Routes\n5.  Invite \u0026 Member Routes\n6.  The rest (Attachments, Activity, etc.)\n\n\u003chr\u003e\n\n```mermaid\nflowchart TD\n    User\n\n    User --\u003e|teamMemberships| TeamMember\n    User --\u003e|createdTeams| Team\n    User --\u003e|createdTasks| Task\n    User --\u003e|assignedTasks| Task\n    User --\u003e|teamInvites| TeamInvite\n    User --\u003e|comments| Comment\n    User --\u003e|attachments| Attachment\n    User --\u003e|notifications| Notification\n    User --\u003e|activities| Activity\n\n    subgraph TeamContext [Team \u0026 Membership]\n        TeamMember --\u003e|defines role in| Team\n    end\n\n    subgraph TaskContext [Task \u0026 Collaboration]\n        Comment\n        Attachment\n    end\n\n    subgraph System [System \u0026 Logging]\n        Notification\n        Activity\n    end\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightdevilpt%2Ftask-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnightdevilpt%2Ftask-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightdevilpt%2Ftask-management/lists"}