Implemented the CRUD and Authentication APIs for tasks & projects.
Description
This pull request introduces the updated backend implementation for the Task Manager application. The backend is designed to facilitate the management of projects and tasks, providing a robust API for client side to interact with. The following key features have been implemented and tested:
Authentication: Secure user registration and login functionality.
CRUD APIs:
Create Projects: Users can create new projects to organize their tasks.
Read Projects: Fetch details of existing projects.
Update Projects: Edit project details as needed.
Delete Projects: Remove projects that are no longer needed.
Create Tasks: Users can add tasks associated with their projects.
Read Tasks: Fetch details of tasks within a project.
Update Tasks: Modify task information when necessary.
Delete Tasks: Remove tasks that are complete or irrelevant.
"Remember this thing to understand the Schema: " A User can have one or many Projects, and A Projects can have one or many Tasks associated with it".
Changes Made
Implemented the following endpoints:
POST /api/v1/user/register: User registration
POST /api/v1/user/login: User login
POST /api/v1/projects: Create a new project
GET /api/v1/projects: Retrieve all projects
PUT /api/v1/projects/:projectId: Update a specific project
DELETE /api/v1/projects/:projectId: Delete a specific project
POST /api/v1/tasks: Create a new task
GET /api/v1/tasks/:projectId: Retrieve all tasks associated with a specific project
GET /api/v1/tasks/:taskId: Retrieve all tasks associated with a specific project
PUT /api/v1/tasks/:taskId: Update a specific task
DELETE /api/v1/tasks/:taskId: Delete a specific task
Testing
The following tests have been conducted to ensure the correctness and reliability of the APIs:
Make sure to handle the token carefully.
Authentication flows for both registration and login.
Successful creation, retrieval, updating, and deletion of projects.
Successful creation, retrieval, updating, and deletion of tasks associated with projects.
There could be a bunch of screenshots but above might help to get the idea of what's going on.
How to Test
Clone the repository and navigate to the project directory.
Ensure you have MongoDB running locally or use a cloud instance.
Update the MongoDB connection URI in the configuration files if necessary.
Implemented the CRUD and Authentication APIs for tasks & projects.
Description
This pull request introduces the updated backend implementation for the Task Manager application. The backend is designed to facilitate the management of projects and tasks, providing a robust API for client side to interact with. The following key features have been implemented and tested:
Changes Made
Implemented the following endpoints:
POST /api/v1/user/register
: User registrationPOST /api/v1/user/login
: User loginPOST /api/v1/projects
: Create a new projectGET /api/v1/projects
: Retrieve all projectsPUT /api/v1/projects/:projectId
: Update a specific projectDELETE /api/v1/projects/:projectId
: Delete a specific projectPOST /api/v1/tasks
: Create a new taskGET /api/v1/tasks/:projectId
: Retrieve all tasks associated with a specific projectGET /api/v1/tasks/:taskId
: Retrieve all tasks associated with a specific projectPUT /api/v1/tasks/:taskId
: Update a specific taskDELETE /api/v1/tasks/:taskId
: Delete a specific taskTesting
The following tests have been conducted to ensure the correctness and reliability of the APIs: Make sure to handle the token carefully.
Authentication flows for both registration and login.
Successful creation, retrieval, updating, and deletion of projects.
Successful creation, retrieval, updating, and deletion of tasks associated with projects.
There could be a bunch of screenshots but above might help to get the idea of what's going on.
How to Test