Loading repository data…
Loading repository data…
Nowihy / repository
This Repo contain my Natours project, Natours - a tour Booking web application that is Built using Node.js, Express.js, MongoDB, and Mongoose, it provides a seamless and interactive experience for users to discover and book their dream tours.
To run this project locally, you need to have Node.js and MongoDB installed on your machine.
git clone https://github.com/<your-username>/natours.git.cd natours.npm install or yarn install..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
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..