Skip to content

Ubaid01/Natours-Project

Repository files navigation

Natours

Natours Logo

A full-featured tour booking platform built with Node.js, Express, and MongoDB

Live Demo API Docs


Features

  • Secure user authentication and authorization
  • Role-based access control (Admin, Lead-Guide, Guide, User)
  • Tour analytics with MongoDB aggregations
  • Real-time tour booking with Stripe
  • Mapbox integration for geo-spatial queries and visualizations
  • Review and rating system for tours
  • Fully responsive frontend using Pug and SCSS

Live Demo


Screenshots

Screenshots

Homepage
Tour Details
Booking & Payment
Booked Tours
User Profile
Admin Panel

API Endpoints

Base URL: https://natours-project-u1.vercel.app/api/v1

Examples:

  • GET /tours — List all tours
  • GET /tours/top-5-cheap — Top 5 cheapest tours
  • GET /tours/tours-within/:distance/center/:latlng/unit/:unit — Get tours within a given distance
  • GET /tours/distances/:latlng/unit/:unit — Calculate distances from a location

Getting Started

To test the API using Postman, set up environment variables like:

{{URL}} = https://natours-project-u1.vercel.app
{{password}} = userpass

Integerations

  • Backend: Node.js, Express, MongoDB, Mongoose
  • Frontend: Pug, CSS, Parcel
  • Auth: JWT (JSON Web Tokens)
  • Payments: Stripe
  • Emails: Mailtrap, SendGrid
  • Maps & Geo: Mapbox

Acknowledgement

  • Built as part of the Node.js, Express, MongoDB Bootcamp by Jonas Schmedtmann.Node.js Express MongoDB Bootcamp. A lot of credit and inspiration goes to this course and the phenomenal instructor. grid-template-co

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors