Skip to content

Yusuf8957/Airbnb

Repository files navigation

🏡 Airbnb Clone – Full Stack Web Application

🚀 A modern Airbnb-inspired full-stack web application where users can explore, create, and manage property listings with authentication, maps, and booking-like functionality.


🔗 Live Demo

👉 Live Website: https://airbnb-xbd4.onrender.com/listings 👉 GitHub Repo: https://github.com/Yusuf8957/Project


✨ Features

  • 🔐 Secure Authentication (Signup/Login/Logout)
  • 🏠 Add, Edit & Delete Listings
  • 🖼️ Image Upload & Management
  • 📍 Interactive Map Integration
  • 🔎 Search & Filter Listings
  • 📱 Fully Responsive Design
  • ⚙️ MVC Architecture (Clean & Scalable Code)
  • 🧾 Session Management & Authorization

🛠️ Tech Stack

💻 Frontend

  • HTML, CSS, JavaScript
  • EJS (Embedded JavaScript Templates)

⚙️ Backend

  • Node.js
  • Express.js

🗄️ Database

  • MongoDB (Mongoose)

🔧 Tools & Libraries

  • Passport.js – Authentication
  • Cloudinary – Image Upload (if used)
  • Mapbox / Google Maps – Location Services

📂 Project Structure

Airbnb-Clone/
│
├── models/          # Mongoose schemas
├── routes/          # Express routes
├── controllers/     # Business logic
├── views/           # EJS templates
├── public/          # Static assets (CSS, JS)
├── utils/           # Helper functions
├── middleware.js    # Custom middleware
├── app.js           # Entry point
└── package.json

⚙️ Installation & Setup

1️⃣ Clone Repository

git clone https://github.com/Yusuf8957/Project.git

2️⃣ Navigate to Folder

cd Project

3️⃣ Install Dependencies

npm install

4️⃣ Setup Environment Variables

Create a .env file in root:

MONGO_URL=your_mongodb_connection
SESSION_SECRET=your_secret_key
CLOUDINARY_KEY=your_key
CLOUDINARY_SECRET=your_secret

5️⃣ Run Server

nodemon app.js

6️⃣ Open in Browser

http://localhost:3000

🚀 Future Improvements

  • 💳 Payment Integration (Razorpay / Stripe)
  • ⭐ Reviews & Ratings System
  • 📅 Booking Date System
  • ❤️ Wishlist Feature
  • 🔔 Notifications

🤝 Contributing

Contributions are welcome!

  1. Fork the repo
  2. Create a new branch
  3. Commit your changes
  4. Push to your branch
  5. Open a Pull Request

👨‍💻 Author

Yusuf


⭐ Support

If you like this project, give it a ⭐ on GitHub — it really helps!

About

A full-stack Airbnb-inspired web application where users can explore, create, and manage property listings. Built using Node.js, Express, MongoDB, and EJS, the platform supports user authentication, listing management, map integration, and booking features for a seamless experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors