Natours is a modern, feature-rich web application for booking outdoor tours. It is built using Node.js, Express, MongoDB, and Pug.
- User Authentication: Sign up, log in, and manage your profile.
- Tour Booking: Browse available tours and book your adventure.
- Real-time Notifications: Receive updates about your bookings.
- Interactive Maps: View tour locations on dynamic maps.
- Responsive Design: Optimized for both desktop and mobile devices.
- Node.js
- npm
- Clone the repo:
git clone https://github.com/IslamEssam01/natours.git
- Navigate to the project directory:
cd natours
- Install dependencies:
npm install
- Create a
.env
file in the root directory and add your environment variables (e.g., database URI, JWT secret). - Example
.env
file:NODE_ENV=development DATABASE=mongodb:https://localhost:27017/natours JWT_SECRET=your_jwt_secret
- Development Mode:
npm run dev
- Production Mode:
npm run start:prod
- /controllers: Contains route handlers.
- /models: Mongoose models.
- /routes: API routes.
- /views: Pug templates.
- /public: Static files (CSS, JS, images).
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.