A simple Node.js project that allows users to manage their tasks. The app supports CRUD (Create, Read, Update, Delete) operations on tasks and users.
- Create, read, update, and delete tasks
- Each task has a name, id, and status (completed or not completed)
- Error handling to handle common errors like invalid input, undefined routes, and database errors.
- Client side rendering using vanilla javascript DOM manipulation for a fast and responsive user experience.
- Node.js
- Express
- MongoDB
- Mongoose
- css
- html
- vanilla javascript DOM manipulation
To get started, clone the repo and run npm install
to install the dependencies. You'll also need to set up a MongoDB database and add your connection string to a .env
file.
The project is also deployed on railway at https://task-manager-production-ec5b.up.railway.app/
Run the app with npm start
and go to http://localhost:3000
in your browser.
The following API endpoints are available:
POST /tasks
- create a new taskGET /tasks
- get all tasks for the current userGET /tasks/:id
- get a specific taskPATCH /tasks/:id
- update a specific taskDELETE /tasks/:id
- delete a specific task
Contributions are welcome! Feel free to submit a pull request or open an issue if you encounter any problems.
This project is licensed under the MIT License.