Natours

Educational Node.js project

back-end development
2023
RESTful API
PUG
Node.js
Express
MongoDB
Mongoose
0Log In

Project Description

Technologies and skills used:

  • Fundamentals of Node.js, core modules, and NPM (Node Package Manager)
  • How Node.js works behind the scenes: event loop, blocking vs non-blocking code, event-driven architecture, streams, modules, etc.
  • Fundamentals of Express (Node.js framework): routing, middleware, sending responses, etc.
  • RESTful API design and development with advanced features: filtering, sorting, aliasing, pagination
  • Server-side website rendering (HTML) with Pug templates
  • CRUD operations with MongoDB database locally and on the Atlas platform (in the cloud)
  • Advanced MongoDB: geospatial queries, aggregation pipeline, and operators
  • Fundamentals of Mongoose (MongoDB JS driver): Data models, CRUD operations, data validation, and middleware
  • Advanced Mongoose features: modeling geospatial data, populates, virtual populates, indexes, etc.
  • Using the MVC (Model-View-Controller) architecture
  • How to work with data in NoSQL databases
  • Advanced data modelling: relationships between data, embedding, referencing, and more
  • Complete modern authentication with JWT: user sign up, log in, password reset, secure cookies, etc.
  • Authorization (user roles)
  • Security: best practices, encryption, sanitization, rate limiting, etc.
  • Accepting credit card payments with Stripe: Complete integration on the back-end and front-end
  • Uploading files and image processing
  • Sending emails with Mailtrap and Sendgrid
  • Advanced error handling workflows
  • Deploying Node.js application to production with Heroku
  • Git and GitHub

Do you like this project? Let's create another stunning website together!