Skip to content

sumit-sharma-02/airbnb

Repository files navigation

Airbnb

A Full Stack Airbnb Clone Application


Nextjs Reactjs Mongodb Prisma Leaflet Tailwind Cloudinary


Quick StartReport BugAuthor

Airbnb is an online marketplace that connects people who want to rent out their homes with people who are looking for accommodations in specific locales. Airbnb offers people an easy, relatively stress-free way to earn some income from their property.

airbnb-poster

🚀 Features

  • Fully Responsive
  • Credential Authentication
  • Google Authentication
  • Github Authentication
  • Property Listing
  • Booking / Reservation System
  • Guest Reservation Cancellation
  • Owner Reservation Cancellation
  • Creation and Deletion of Properties
  • Search by Category, Date Range, Map Location, Number of Guests, Rooms and Bathrooms
  • Add Favorites
  • Shareable URL filters

Some Screenshots of Airbnb:

home listing
properties home

Quick Start

$ git clone https://github.com/sumit-sharma-02/airbnb.git
$ cd airbnb
$ npm install

Env Variables

Add your config variables values in the .env file which will be in the root directory.

DATABASE_URL = Go to mongodb atlas website -> login -> create database -> free -> add you username, pass -> finish -> connect -> connect with VS Code -> Copy the link paste here in the .env file -> replace <password> with the password you added while creating

NEXTAUTH_SECRET = 'NEXTAUTH_SECRET'

GOOGLE_CLIENT_ID = go to "https://console.cloud.google.com/getting-started" -> create a new project -> once project is created search api in searchbar -> go to Enabled APIs and services -> OAuth consent screen -> external -> create -> fill mandatory fields with you name and emailid -> continue X3. Now go to credentials on the left -> create credentials -> create OAuth Client ID -> application type - web application -> Add "http://localhost:3000/api/auth/callback/google" in the Authorized redirect URIs -> create -> Copy ClientID and paste it here in the .env file.

GOOGLE_CLIENT_SECRET = Copy Client Secret and paste it here in the .env file.

GITHUB_ID = Go to your github -> settings -> developer settings -> OAuth Apps -> Add new -> Add "http://localhost:3000" in homepage and authorization callback url -> generate -> copy paste client id here in .env file.

GITHUB_SECRET = Continuing above step below client id click on generate client secret and paste in here in the .env file.

NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME = Go to Cloudinary website -> Login -> Dashboard -> copy the cloud name and paste it here in the .env file.

Setup Prisma

npx prisma db push

Start the app

npm run dev

Contact

If you want to contact me, you can reach me through below handles.

linkedin Github

Show your support

Give it a ⭐️ if you like it.