Natours application is a tour booking api and server-side rendered e-commerce website using node.js, express, mongoDB, mongoose and pug.
- Show all tours and display detail page of each tour with other users' reviews
- User log in, change password, reset password, secure cookies and user role authorization
- admin email: [email protected] / password: test1234
- user email: [email protected] / password: test1234
- guide email: [email protected] / password: test1234
- Book and pay for a tour and check booking history at my bookings in account settings page
Natours backend api documentation can be found here
- Node.js and Express
- MongoDB with Mongoose: geospatial, data population and modeling
- Postman
- RESTful API design and CRUD operations
- Error handling with Express
- Authentication, Authorization and Security (bcrypt, jsonwebtoken)
- Server-side rendering with pug templates
- Credit card payments with stripe
- Sending email using nodemailer
- Uploading files and image processing
https://natours-production-a69e.up.railway.app/
- Clone the project
git clone https://github.com/hykim-soulis/natours.git
- Go to the project directory
cd project-directory
- Install natours with npm
npm install
- Start natours with npm
npm run start
This project is coding-along project from the Udemy course: Node.js, Express, MongoDB & More: The Complete Bootcamp 2022 by instructor Jonas Schmedtmann. Part of HTML, CSS and image files were provided by the instructor.
The below link is the instructor's github address.