Skip to content

MhmoudYahia/Natours-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

image

Natours

Exciting tours for adventurous people. Natours is an application for users to book tours.

Demo

A quick tour in the app here

πŸ§‘πŸΌβ€πŸ’» Client Tech Stack

  • ReactJS

πŸ§‘πŸΌβ€πŸ’» Server Tech Stack

  • NodeJS
  • ExpressJs
  • MongoDB

Features

  • Advanced authentication and authorization (including password reset)
  • Master the entire modern back-end stack: Node, Express, MongoDB and Mongoose (MongoDB JS driver)
  • Build a fast, scalable, feature-rich RESTful API (includes filters, sorts, pagination, and much more
  • CRUD operations with MongoDB and Mongoose
  • Admin panel to manage tours and users
  • How to work with data in NoSQL databases (including geospatial data)
  • Rating is calculated automatically when a user adds a review
  • Security: encryption, sanitization, rate limiting, etc
  • Credit card payments with Stripe
  • Security: encryption, sanitization, rate limiting, etc
  • Deep dive into mongoose (including all advanced features)
  • Sending emails & uploading files
  • Advanced error handling workflows
  • More

API Reference

Get all items

  GET /api/v1/tours
Parameter Type Description
api_key string You can get all tours, create new ones, and edit and delete tours. There are also special endpoints for some special requirements.

See Full API Documentation on Postman here

πŸ“± Screenshots (More Details are in Live Demo)

Home Page

image image

Tour Details

image image image image

User Page

image image

Admin Panel

image image

LogIn - SignUp - Forget Password - Reset Password

image image image image

Run Locally

Clone the project

  git clone https://github.com/MhmoudYahia/Natours-App.git

Install dependencies

  npm install

Start the server

  npm run start:dev

Authors

Found a bug?

If you find any bugs in the projects not listed in the issues panel. Then feel free to create an issue regarding the bug.

πŸ€– Feedback

If you have any feedback, please reach out to me at myehia162@gmail.com