🌍 Overview
Wanderlust is a full-stack Airbnb clone built using Node.js, Express, MongoDB, EJS, and CSS. It offers features like user authentication, property listing, dynamic filtering by categories, and search functionality by city or location. The application is designed with server-side rendering (SSR) and responsive design principles to deliver a seamless user experience.
✨ Features
User Authentication: Secure login and signup with session-based authentication.
Property Listings: Add, update, and delete property details.
Category Filtering: Narrow down listings based on predefined categories (e.g., trending, rooms, farms, boat, etc).
Search by City or Location: Quickly find properties by typing the name of a place or country.
User Reviews and Ratings: Leave reviews and rate properties to help others make informed decisions.
Responsive Design: Fully optimized for all devices.
💻 Tech Stack
Backend: Node.js, Express.js
Frontend: EJS (server-side rendering), CSS
Database: MongoDB
Authentication: Passport.js
🚀 How to Install and Run Locally
Clone the Repository:
git clone https://github.com/your-username/wanderlust.git
Navigate to the Project Directory:
cd wanderlust
Install Dependencies:
npm install
Set Up Environment Variables:
Create a .env file in the root directory and add the following:
CLOUD_NAME=your_cloud_name_here
CLOUD_API_KEY=your_cloud_api_key_here
CLOUD_API_SECRET=your_cloud_api_secret_here
MAP_TOKEN=your_mapbox_access_token_here
ATLASDB_URL=mongodb+srv://:@.mongodb.net/?retryWrites=true&w=majority
SECRET=your_secret_code_here
Run the Application:
npm start
Access the Application:
Open http://localhost:8080/listings in your browser.
My Deployed Project:
https://wanderlust-airbnb-clone-r502.onrender.com/listings
📸 Screenshots
🌟 Future Enhancements
Payment Integration: Add a payment gateway for property bookings.
Recommendation System: Suggest properties based on user preferences and browsing history.