Natours - An intuitive full-stack web application to book tours, meet guides and enjoy a seamless web experience.#
Deployed on - https://natours-prod.cyclic.app/
- Supports CRUD operations, like Creating, Reading, Updating and Deleting Entries.
- Follows the Model-View-Controller Model.
- Has multiple routes, admin routes, user authentication using JWT, cookie storage
- Has a payment page as well, using Stripe.
- Used Parcel to bundle front-end files into one .map file for easier and more effective deployment
- Complex State Management
- Beautiful Front-End Interface
- Even dockerized the application to run on any machine, without any errors for a seamless experience
- Fully fledged custom back-end API with sorting, finding and paginating features.
- NodeJS - Runtime Environment
- MongoDB Atlas - The NO-SQL database used
- Express- the main backend framework used
- JSON Web Tokens - For user authentication
- Mongoose - To interact with MongoDB and create the models
- Node - Mailer - to send Emails
- Pug Templating
- Stripe for Payments
- Mapbox - For the map
- ParcelJS - For bundling packages
- MailTrap and SMTP - For Emails
- Docker - To dockerize the application
- Postman - API testing
- Cyclic - For deployment
- Clone the repository
- cd into the directory
- run
npm i
- run
npm start
- Clone the repository
- cd into the directory
- run
npm i
- run
npm run watch:js
to start the parcel bundling service - run
npm start