Skip to content

Repository files navigation

🏡 Airbnb Clone

Full-Stack Accommodation Booking Platform

A production-inspired Airbnb clone built with Node.js, Express.js, MongoDB, Passport.js, Cloudinary, MapTiler, and Bootstrap, featuring secure authentication, property listings, image uploads, reviews, and interactive maps.


✨ Features

  • 🔐 Secure Authentication & Authorization
  • 🏡 Create, Edit & Delete Property Listings
  • 📸 Cloudinary Image Uploads
  • ⭐ Reviews & Ratings
  • 🌍 Interactive Maps with Geocoding
  • 👤 Host Ownership & Route Protection
  • 📱 Fully Responsive UI
  • 💬 Flash Messages & Form Validation

🛠 Tech Stack

Additional Technologies

  • Bootstrap 5
  • EJS
  • Mongoose
  • Passport.js
  • Express Session
  • Cloudinary
  • Multer
  • MapTiler
  • Joi
  • Axios
  • Connect Flash
  • Method Override

🏗️ Architecture

Client
   │
   ▼
Express.js Server
   │
   ▼
Authentication (Passport.js)
   │
   ▼
Controllers
   │
   ▼
MongoDB (Mongoose)
   │
   ├── Cloudinary
   └── MapTiler

🚀 Installation

git clone https://github.com/Sairaj2033/Airbnb.git

cd Airbnb

npm install

Create a .env file

ATLASDB_URL=

SECRET=

CLOUD_NAME=
CLOUD_API_KEY=
CLOUD_API_SECRET=

MAP_TILER=

Run the application

npm start

Open:

http://localhost:8080

📚 What I Learned

  • MVC Architecture
  • RESTful Routing
  • Authentication & Authorization
  • CRUD Operations
  • MongoDB & Mongoose
  • Cloud Image Storage
  • Session Management
  • API Integration
  • Input Validation
  • Production-Ready Backend Development

🚀 Future Enhancements

  • ❤️ Wishlist
  • 📅 Booking System
  • 💳 Payment Integration
  • 🔍 Advanced Search & Filters
  • 🌙 Dark Mode

👨‍💻 Author

Sairaj Patil


⭐ If you found this project helpful, consider giving it a star!

About

A full-stack Airbnb-inspired accommodation booking platform built with Node.js, Express.js, MongoDB, EJS, Bootstrap, Passport.js, Cloudinary, and MapTiler, featuring secure authentication, property listings, reviews, image uploads, interactive maps, and a responsive user interface. Best experienced on desktop.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages