Wanderlust is a full-stack travel stay web application where users can discover unique places to stay, list their own properties, explore locations with interactive maps, leave reviews, and manage listings — all within a seamless, responsive interface. It features integrated authentication, dynamic map views using Leaflet, and a clean, modern UI built with Bootstrap.
- CRUD operations for listings
- Location-based search (title, description, location, country)
- Leaflet map integration for each listing
- User reviews with star ratings
- User authentication (Login/Signup)
- Only owners can edit/delete their listings
- Image upload with Cloudinary
- Fully responsive (Bootstrap 5)
- MVC architecture followed
- Backend: Node.js, Express.js
- Frontend: EJS Templating, Bootstrap 5
- Database: MongoDB + Mongoose
- Maps: Leaflet.js
- Cloud Storage: Cloudinary
- Authentication: Passport.js
- Others: Express-session, Connect-mongo, Method-override etc
app.js– Main application entry pointcloudConfig.js– Cloudinary configurationcontrollers/– Route logic for listings and reviewsmodels/– Mongoose schemas (Listing, Review, User)routes/listings.js– All routes related to listingsreviews.js– All routes related to reviewsusers.js– Authentication routes
middleware.js– Custom Express middlewareutils/ExpressError.js– Error class for clean handlingwrapAsync.js– Utility to wrap async routes
views/– EJS templateslistings/– Views for index, show, new, editreviews/– Partial for reviewsusers/– Login and register viewspartials/– Header, footer, alertslayouts/– Boilerplate base layout
public/css/– Custom stylesjs/– Custom scripts (like map.js)images/– Static image assets (if any)
Wanderlust is deployed on Render



