This is a Task Management API developed using Node.js and Express.js, allowing users to manage and track tasks effectively. With user authentication, task assignments, notifications, and more, this API provides comprehensive task management features.
- User Authentication: Register, log in, and manage your profile seamlessly.
- Task Management: CRUD operations for tasks. Tasks have attributes like title, description, due date, and status (e.g., "in progress," "completed," "pending").
- Task Assignments: Assign tasks to other users and keep track of these assignments.
- Notifications: Get notified about task assignments, updates, or approaching due dates.
- Task Filtering and Sorting: Retrieve tasks based on various parameters like due date, status, assigned user, and more.
/auth/signup(POST): Endpoint to register a new user./auth/login(POST): Endpoint for user login.
/tasks(GET): Fetch all tasks for the authenticated user./tasks/:taskId(GET): Retrieve details of a specific task./tasks(POST): Create a new task./tasks/:taskId(PUT): Update a specific task./tasks/:taskId(DELETE): Delete a task.
/notifications(GET): Fetch all notifications for the authenticated user./notifications/:notificationId(GET): Retrieve a specific notification./notifications(POST): Create a new notification./notifications/:notificationId(DELETE): Delete a notification.
- Clone the repository to your local machine.
- Navigate to the project directory and install dependencies using
npm install. - Ensure MongoDB is set up and running.
- Use the
.envfile to manage environment variables like the database connection string and JWT secret. - Start the server using
npm startor any preferred command as set in thepackage.json.
This API is designed to offer comprehensive task management functionalities for developers and users. Built with best practices in mind, the code is modular and easy to understand. Expand on the API or use it as a starting point for more complex task management needs.
To test the API, you can use tools like Postman or the provided Swagger documentation.
- Kashif Ali
This project is licensed under the MIT License.