Natours is a Node.js application that provides a platform for booking tours around the world. This project was created as a part of learning Node.js and Express.
- User Authentication: Secure user authentication and authorization using JWT tokens.
- Tour Booking: Browse and book tours with options for different packages and dates.
- Payment Integration: Integrated payment gateway for secure transactions.
- Admin Dashboard: Manage tours, bookings, and user accounts through an admin interface.
- Geo-Location: Utilizes geo-location services to show tours near the user's location.
To run this project locally, ensure you have Node.js and npm installed. Then, 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: Create a
.envfile in the root directory and add the following:PORT=3000 DATABASE=<your_database_connection_string> JWT_SECRET=<your_jwt_secret> -
Run the application:
npm start
- Access the application at
http://localhost:3001. - Register as a new user or login with existing credentials.
- Browse available tours, view details, and make bookings.
- Admins can access the dashboard at
/adminto manage tours and users.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/improvement). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature/improvement). - Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.