NATOURS
Natours is an modern web application that provides a platform for nature lovers and adventure travelers to buy and sell nature-based adventure tours. Natours makes it easy to browse, book, and manage tours with ease. The application allows users to create accounts, login, and sign up for tours, make secure payments, upload files, and change passwords. Natours is the ultimate destination for those seeking exciting and unforgettable outdoor experiences.
Deployed links
Technologies and Features
| Technology | Features |
|---|---|
| Node.js, Express.js | Backend of the application |
| MongoDB Atlas, Mongoose | Database for the application |
| Stripe | Online Payment Page |
| Bcrypt | Password Management |
| JSON Web Token | Authorization and Authentication |
| sendInBlue | Mail Services |
| Leaflet | Map Services |
| Render | Deployment 1 |
| railway | Deployment 2 |
This project has variety of advanced features:
1) Fast, feature-rich REST API (includes filters, sorts, pagination, and much more)
2) Security Features such as Rate Limiting, Password Encryption, etc.
| Home page of the website | Login Page |
|
![]() |
| SignUp Page | Reviews Section |
![]() |
![]() |
| Details Page | Book tour |
![]() |
![]() |
| Payment Page | Booked Tours |
![]() |
![]() |
| Account Settings | Password Settings |
![]() |
![]() |
Installation
To setup the project on your local environment, follow the given steps:
- Fork the nikhil-pandey-digital/natours repository.
- Clone the repository:
Install dependencies
npm install
create a config.env file in the root of the project folder and add all the config variables used in the project
To start the server in development mode
npm run dev
To start the server in production mode
npm run start:prod
Go to localhost:3000 to view the website.
Built With
- css
- express.js
- html
- javascript
- jwt
- leafletapi
- mongodb
- node.js
- postman
- pug
- stripeapi










Log in or sign up for Devpost to join the conversation.