Skip to content

A Tour website with REST ful API (with authentication, Node.js security, payments & more)

Notifications You must be signed in to change notification settings

Yagnik-Gohil/Natours

Repository files navigation

Natours Application

Build using modern technologies:

Node.js, express, MongoDB, Mongoose and many more

What I learned in this project:

● Fundamentals of Node.js, core modules, and NPM (Node Package Manager)

● 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

● 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

● 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