Wanderlust is a web application that allows users to browse, review, and manage travel destinations and listings. It integrates maps for location-based listings and supports CRUD operations for both users and listings.
Check out Live Demo: https://wanderlust-rm6j.onrender.com/listings
- User authentication and authorization.
- Add, edit, and delete travel listings (based on RESTful APIs).
- Leave reviews and ratings on listings.
- View location of listings on a responsive map (powered by Mapbox).
- Mobile-responsive design.
- Display of reviews with rating stars.
- Frontend: HTML, CSS, JavaScript, Bootstrap
- Backend: Node.js, Express.js
- Database: MongoDB
- Map API: Mapbox
- Templating Engine: EJS (Embedded JavaScript)
-
Clone the repository:
git clone https://github.com/siddhanth4/wanderlust.git
-
Navigate into the project directory:
cd wanderlust
-
Install the required dependencies:
npm install
-
Set up your
.env
file with the following environment variables:MAP_TOKEN=<your_mapbox_token> MONGODB_URI=<your_mongodb_connection_string> SESSION_SECRET=<your_secret_key>
-
Run the application:
nodemon app.js
-
Visit the application at
http://localhost:8080/listings
.
The application requires the following environment variables:
MAP_TOKEN
: Your Mapbox API token to render maps.MONGODB_URI
: Your MongoDB connection string.SESSION_SECRET
: A secret key for session management.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit:
git commit -m 'Add feature'
- Push to your forked branch:
git push origin feature-name
- Create a pull request.
Please ensure your changes are well-tested and adhere to the project’s coding guidelines.