Welcome to Natours, a RESTful api and web application for booking nature tours and exploring the beauty of the natural world.
The code style is enforced using eslint
and prettier
.
Natours is a fictional web application designed to showcase the beauty of nature and provide a platform for booking guided nature tours. Whether you're an adventure seeker or a nature enthusiast, Natours offers a variety of tours to explore breathtaking landscapes and connect with nature.
Check out our live demo here.
- Node.js
- Express
- MongoDB
- Mongoose
- Stripe
- Git
- NodeMailer
- MongoDB Atlas
- Postman
- VSCode
- Mailtrap
- Pug
- Parcel
Before you begin, ensure you have met the following requirements:
- Node.js and npm installed
- MongoDB installed and running
To install Natours, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/natours.git
-
Navigate to the project directory:
cd natours
-
Install dependencies:
npm install
-
Set up environment variables: To run this project, you will need to add the following environment variables to your .env file
NODE_ENV=production
DATABASE
USERNAME
database usernamePASSWORD
database passwordJWT_SECRET
JWT_EXPIRES_IN
JWT_COOKIE_EXPIRES_IN
EMAIL_USERNAME
EMAIL_PASSWORD
EMAIL_HOST
EMAIL_PORT
EMAIL_FROM
STRIPE_SECRET_KEY
-
Start the application:
npm run start
Once the application is up and running, you can visit http://localhost:3000
in your web browser to explore and book nature tours.
To book a tour you can use test credit card
Natours provides a RESTful API for accessing tour data and performing various actions. You can find the API documentation here.
- User registration and authentication
- Sign up, Log in, Logout, Update, and reset password.
- Browse and search for available tours
- View tour details, including itinerary and pricing
- Book tours and make secure payments
- User reviews and ratings for tours
- User dashboard to manage bookings and reviews
[] Implement Sign Up page
[] Fix CalcAverageRatings
functionality