Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add project management apis #266

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

codemitrayt
Copy link

@codemitrayt codemitrayt commented Nov 19, 2024

Project Management API

Overview

This PR contains a comprehensive Project Management API designed for handling projects, members, tasks, and associated operations. The API is built with scalability and flexibility in mind, featuring robust authentication and input validation mechanisms.

Additionally, an Issue Management feature is planned to enhance project tracking capabilities.


Frontend project :
blsheet.com

Postman JSON File :
project-management-apis.postman_collection.json

Features

Project Management

  • Create Project
    POST /api/v1/project-management/project
    Create a new project with a name, description, and optional tags.

  • Update Project
    PATCH /api/v1/project-management/project/:projectId
    Update project details, such as name, description, and tags.

  • Fetch Projects
    GET /api/v1/project-management/project?page={}&limit={}
    Retrieve a paginated list of projects.

  • Delete Project
    DELETE /api/v1/project-management/project/:projectId
    Delete a project by its ID.


Member Management

  • Invite Member
    POST /api/v1/project-management/project/member
    Invite users to join a project.

  • Accept Invitation
    PATCH /api/v1/project-management/project/member
    Accept a pending project invitation.

  • Remove Member
    DELETE /api/v1/project-management/project/member
    Remove a member from a project.

  • Fetch Members
    GET /api/v1/project-management/project/member/:projectId?page={}&limit={}
    Retrieve paginated project members.


Task Management

  • Create Task
    POST /api/v1/project-management/project/task
    Add a task to a specific project.

  • Update Task
    PATCH /api/v1/project-management/project/task
    Update task attributes, including subtasks.

  • Assign Member to Task
    POST /api/v1/project-management/project/task/assign-member-to-task
    Assign a team member to a task.

  • Remove Member from Task
    POST /api/v1/project-management/project/task/remove-member-from-task
    Unassign a member from a task.

  • Delete Task
    DELETE /api/v1/project-management/project/task
    Remove a specific task from a project.


Planned Feature: Issue Management

The Issue Management module will introduce capabilities to track and resolve project-related issues:

  • Create and assign issues to team members.
  • Track issue status (e.g., Open, In Progress, Resolved).
  • Add comments and attach files for detailed issue reporting.

Screenshot 2024-11-20 at 12 31 20 AM

@codemitrayt
Copy link
Author

Please review the implemented Project Management APIs. All endpoints have been manually tested and are working as expected. Feedback and suggestions are welcome!

@codemitrayt codemitrayt changed the title feat: build project management apis feat: add project management apis Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant