To run this project locally, you need to have Node.js and MongoDB installed on your machine.
- Node.js
- MongoDB
- NPM or Yarn
- JavaScript
- Clone this repo to your local machine using
git clone https://github.com/<your-username>/natours.git
. - Go to the project directory using
cd natours
. - Install the dependencies using
npm install
oryarn install
. - Create a
.env
file in the root folder and add the following environment variables:
NODE_ENV=development PORT=3000 DATABASE=<your-mongodb-connection-string> DATABASE_PASSWORD=<your-mongodb-password> JWT_SECRET=<your-jwt-secret> JWT_EXPIRES_IN=90d JWT_COOKIE_EXPIRES_IN=100 EMAIL_USERNAME=<your-email-username> EMAIL_PASSWORD=<your-email-password> EMAIL_HOST=<your-email-host> EMAIL_PORT=<your-email-port> EMAIL_FROM=<your-email-address> STRIPE_SECRET_KEY=<your-stripe-secret-key>
Run the app using npm start or yarn start.
Open your browser and go to http://localhost:3000.
User registration and login with JWT authentication
Password reset with email verification
User roles and permissions
Searching for tours (Filtering & Sorting)
Tour creation, update and deletion
Tour image upload and processing
Tour ratings and reviews
Tour booking with Stripe integration
Booking confirmation and invoice email
Error handling and logging
Node.js
Express
MongoDB
Mongoose
Bcrypt
Jsonwebtoken
Validator
Stripe
Sendgrid
Nodemailer
Multer
Sharp
Morgan
Helmet
Xss
- Nowihy- Initial development
This project is based on the Node.js course on Udemy by Jonas Schmedtmann. Special thanks for his guidance and support during the learning process..