This project is a web application that mimics the core functionalities of Asana. Users can create, edit, delete, and complete tasks. Additionally, users can create projects and assign tasks to these projects. Users can also add comments to tasks, create subtasks, and add comments to subtasks.
This project is developed using JavaScript and includes the following technologies:
- Node.js: Used as the runtime environment for server-side JavaScript.
- MongoDB: Used as the database.
- Express.js: Used as the server-side application framework.
- Packages:
- crypto-js: Used for encrypting passwords.
- dotenv: Used for loading environment variables.
- express-fileupload: Used for file upload operations.
- helmet: Used for security measures.
- http-status: Used for facilitating the use of HTTP status codes.
- joi: Used for data validation.
- jsonwebtoken: Used for JWT (JSON Web Token) authorization.
- mongoose: Used for interacting with MongoDB.
- nodemailer: Used for sending emails.
- uuid: Used for generating unique identifiers.
- winston: Used for logging.