Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelcardenasg23/natours
This is a tour booking web app made with Node.js, Express.js, MongoDB and much more.
https://github.com/samuelcardenasg23/natours
express javascript mongodb nodejs pug-template-engine
Last synced: 7 days ago
JSON representation
This is a tour booking web app made with Node.js, Express.js, MongoDB and much more.
- Host: GitHub
- URL: https://github.com/samuelcardenasg23/natours
- Owner: samuelcardenasg23
- Created: 2024-02-19T15:05:26.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-03-19T20:10:07.000Z (8 months ago)
- Last Synced: 2024-03-19T21:32:36.916Z (8 months ago)
- Topics: express, javascript, mongodb, nodejs, pug-template-engine
- Language: JavaScript
- Homepage: https://natours-itcg.onrender.com/
- Size: 33.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Natours
Welcome to Natours project! This web application allows users to browse through different tour offers, sign up, log in, and purchase tours.
## Features
- **User Authentication**: Users can sign up for an account and log in securely.
- **Browse Tours**: Users can view available tour offers.
- **Purchase Tours**: Authenticated users can book and purchase tours.
- **Validation**: Includes comprehensive validation to ensure data integrity and security.
- **MongoDB Integration**: Utilizes MongoDB for database storage.
- **Express Server**: Utilizes Express.js for handling server-side logic.
- **Security**: Implements **bcrypt** for password hashing and JWT for secure authentication.
- **Email Notifications**: Utilizes nodemailer to send email notifications.
- **And much more!**## Technologies Used
- Node.js
- Express.js
- MongoDB
- Mongoose
- bcrypt
- jsonwebtoken
- nodemailer
- Other dependencies## Installation
1. Clone the repository:
```bash
git clone https://github.com/samuelcardenasg23/natours
```2. Navigate to the project directory:
```bash
cd natours
```3. Install dependencies:
```bash
npm install
```4. Start the server:
```bash
npm start:prod
```## Usage
1. Open your web browser and visit http://localhost:3000.
2. Sign up for an account or log in if you already have one.
3. Browse through available tour offers.## Contributing
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature`).
3. Make your changes.
4. Commit your changes (`git commit -am 'Add new feature'`).
5. Push to the branch (`git push origin feature/your-feature`).
6. Create a new pull request.## License
This project is licensed under the [MIT License](LICENSE).