This is a simple Task Manager API built with Node.js, Express, and MongoDB. The API allows users to create, update, delete, and retrieve tasks, as well as register and log in. It also provides email notifications for task assignment and completion, supports file attachments, and implements user authentication and authorization using JWT.
- RESTful API endpoints for tasks and user management
- User registration and login with JWT authentication
- CRUD operations for tasks
- Assign tasks to different users
- Email notifications for task assignment and completion
- File attachments for tasks
- Input validation and data sanitization
- CORS policy and rate limiting
- API documentation using Swagger OpenAPI 3.0
- Node.js (v14 or later)
- MongoDB (local or remote)
- Clone the repository:
git clone https://github.com/yourusername/task-manager-api.git
- Change to the project directory:
cd task-manager-api
- Install the dependencies:
npm install
- Create a
.env
file in the project root and set the environment variables:
cp .env.example .env
Edit the .env
file and replace the placeholders with your actual configurations.
- Start the development server:
npm run dev
The API should now be running at http://localhost:8008
.
You can find the API documentation at http://localhost:8008/api-docs
.
To run the tests, execute the following command:
npm test
This project is licensed under the MIT License.