Skip to content

Hardik301002/WANDERLUST

Repository files navigation

🏡 Wanderlust — A Full-Stack Hotel Booking Platform 🔗 Live Demo: https://wanderlust-d4tb.onrender.com 🔗 GitHub: https://github.com/Hardik301002/WANDERLUST

Wanderlust is a full-stack web application inspired by Airbnb, built to allow users to explore, book, and review properties. This project showcases complete CRUD functionality, authentication, dynamic map integration, and a responsive UI — all built with a Node.js + MongoDB backend and EJS templating on the frontend.

🔧 Tech Stack

Frontend: HTML, CSS, Bootstrap, EJS (Embedded JavaScript) Backend: Node.js, Express.js Database: MongoDB (hosted on MongoDB Atlas) Authentication: Passport.js File Uploads: Multer + Cloudinary Validation: Joi Map Integration: Mapbox

✨ Key Features

🔐 Secure User Authentication (Register/Login/Logout) 🏘 Property Listings with CRUD operations (Create, Read, Update, Delete) 📸 Image Uploads via Cloudinary 🌐 Mapbox integration for viewing property locations ⭐️ Reviews and Ratings for listings 📱 Fully responsive layout with Bootstrap 🧼 Server-side input validation using Joi 📂 Follows MVC architecture for clean code organization

🚀 Quick Start (Local Development)

git clone https://github.com/Hardik301002/WANDERLUST.git cd WANDERLUST npm install

Create a .env file with your keys:

DB_URL=<your_mongodb_url> MAPBOX_TOKEN=<your_mapbox_token> CLOUDINARY_CLOUD_NAME=<your_cloudinary_name> CLOUDINARY_KEY=<your_cloudinary_key> CLOUDINARY_SECRET=<your_cloudinary_secret> SESSION_SECRET=<your_secret_key>

Then run:

npm start

Use these credentials to test the live demo:

Email: demo@example.com Password: password123

What I Learned Full-Stack Development: Building a robust CRUD application with secure user authentication. API Integration: Successfully integrating third-party services like Mapbox for geolocation and Cloudinary for cloud image storage. Data Security: Implementing server-side validation using Joi to ensure data integrity. Software Architecture: Organizing the codebase using the MVC (Model-View-Controller) pattern for scalability and maintainability. Express Fundamentals: Mastering middleware, session management, and flash messages to enhance user experience.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published