Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/solygambas/node-task-manager-rest-api
A task manager REST API using MongoDB, Mongoose and Express (plus 3 other Node.js projects).
https://github.com/solygambas/node-task-manager-rest-api
express expressjs hbs javascript jest mongodb mongoose mustache node nodejs socket-io
Last synced: 21 days ago
JSON representation
A task manager REST API using MongoDB, Mongoose and Express (plus 3 other Node.js projects).
- Host: GitHub
- URL: https://github.com/solygambas/node-task-manager-rest-api
- Owner: solygambas
- Created: 2020-05-02T07:11:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T18:54:34.000Z (over 1 year ago)
- Last Synced: 2024-10-11T11:08:36.001Z (about 1 month ago)
- Topics: express, expressjs, hbs, javascript, jest, mongodb, mongoose, mustache, node, nodejs, socket-io
- Language: JavaScript
- Homepage: https://node-api-restful.onrender.com/
- Size: 1.56 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task App and Node.js projects
A task manager REST API using MongoDB, Mongoose and Express (plus 3 other Node.js projects).
| # | Project | Description |
| --- | ------------------------------- | --------------------------------------------------------------------------- |
| 01 | [**Notes App**](#notes-app) | A simple CLI note-taking application to understand Node.js basics. |
| 02 | [**Weather App**](#weather-app) | A weather app using Express, Handlebars templates, fetch API and callbacks. |
| 03 | [**Task App**](#task-app) | A task manager REST API using Express, MongoDB and Mongoose. |
| 04 | [**Chat App**](#chat-app) | A simple chat room app to work with WebSocket protocol. |A simple CLI note-taking application to understand Node.js basics.
[See notes-app folder](notes-app)
### Features
- handling Command Line Args (add, remove, list, read) and options (--title, --body) with Yargs.
- writing JSON files with JSON.stringify() and fs.writeFileSync().
- reading JSON files with fs.readFileSync(), toString() and JSON.parse().
- printing success/error messages in color with Chalk.
- sanitizing data with validator.
- watching for changes in development mode with nodemon.
- debugging Node.js with debugger, node inspect and Chrome inspector.A weather app using Express, Handlebars templates, fetch API and callbacks.
[See weather-app folder for the first part](weather-app)
[See web-server folder for the final project](web-server)
[See Demo deployed on Render](https://node-weather-fetch.onrender.com/)
### Features
- making http requests in Node.js with request.
- protecting Weatherstack and Mapbox API keys with dotenv.
- using JSON Formatter in Chrome to work with JSON data.
- handling errors.
- using callbacks and callback chaining to make asynchronous requests.
- serving up HTML, JSON and static assets with Express.
- creating dynamic pages with Handlebars and hbs.
- styling the app with flexbox.
- accessing JSON HTTP endpoint from browser with fetch API.
- handling search by location for current weather.
- deploying on Render.A task manager REST API using Express, MongoDB and Mongoose.
[See task-manager folder](task-manager)
[See REST API deployed on Render](https://node-api-restful.onrender.com/)
### Features
- performing CRUD operations (create, read, update, delete) using MongoDB.
- using promises and async/await method.
- modeling data with Mongoose.
- validating user data with validator.
- enabling REST API routes (post, get, patch, delete) with Express.
- adding registered users to MongoDB and hashing passwords with bcryptjs.
- storing the user/task relationship.
- granting access to the API with JSON Web Tokens.
- testing routes with Postman environment variables.
- adding timestamps to sort data, filtering completed/uncompleted tasks and enabling pagination.
- managing file uploads for user avatar with multer and sharp.
- sending subscribe/unsubscribe emails with Sendgrid.
- writing tests with Jest and supertest using mocks and fixtures.
- deploying on Render and MongoDB Atlas.A simple chat room app to work with WebSocket protocol.
[See chat-app folder](chat-app)
[See Demo deployed on Render](https://node-chat-rooms-app.onrender.com/)
### Features
- handling realtime communication between web clients and server with Socket.IO.
- sending messages with emit() and waiting for messages with on().
- managing chat rooms with socket.join and io.to.emit().
- sharing location with Geolocation API and Google Maps.
- avoiding inappropriate messages with bad-words.
- creating templates in Express server with Mustache.
- managing timestamps with Moment.js.Based on [The Complete Node.js Developer Course](https://www.udemy.com/course/the-complete-nodejs-developer-course-2/) by Andrew Mead (3rd edition, 2019)