A full-stack travel and property hosting platform where users can list, discover, and book unique places to stay. Built with Node.js, Express, MongoDB, EJS, and Cloudinary.
Wonderlust allows users to sign up, log in, create property listings, upload images, leave reviews, and explore locations with interactive maps.
- User authentication (signup, login, logout)
- Create, edit, and delete property listings
- Image uploads with Cloudinary
- Reviews and ratings
- Interactive maps with Mapbox
- Flash messages for user feedback
- Responsive UI with Bootstrap
- Node.js, Express.js
- MongoDB & Mongoose
- EJS & ejs-mate
- Passport.js (authentication)
- Cloudinary (image hosting)
- Mapbox (maps & geocoding)
- Bootstrap 5
- Clone the repo:
git clone https://github.com/bharatalok11/wonderlust.git cd wonderlust - Install dependencies:
npm install
- Set up environment variables:
Create a
.envfile with the following:ATLASDB_URL=your_mongodb_connection_string SESSION_SECRET=your_session_secret CLOUD_NAME=your_cloudinary_cloud_name CLOUD_API_KEY=your_cloudinary_api_key CLOUD_API_SECRET=your_cloudinary_api_secret MAPBOX_TOKEN=your_mapbox_token NODE_ENV=development PORT=valid_port_number (default is 10000)
- Run the app:
The app will run on
node app.js
http://localhost:10000by default.
- Ready for deployment on Render.com
- Set all environment variables in the Render dashboard
- Ensure Node version is set to
22.13.1
WebDevelopment/Projects/wonderlust/
│
├── assets/ # Images for README and documentation
├── controllers/ # Route controllers
├── models/ # Mongoose models
├── public/ # Static files (CSS, JS, images)
├── routes/ # Express routes
├── utils/ # Utility functions and classes
├── views/ # EJS templates
├── app.js # Main application file
├── package.json # Project metadata and scripts
└── README.md # Project documentation
Created by bharatalok11
Happy Coding! ❤️







