/airbnb-clone

Airbnb app clone with Next.js 13, that allows you to search for properties, add them to favorites, make reservations, and more.

Primary LanguageTypeScriptMIT LicenseMIT

Airbnb Clone with Nextjs 13

Status Version License Deployed on Vercel Next.js version Tailwind CSS version TypeScript version React version Prisma version MongoDB version NextAuth.js version Axios version Date-fns version Bcrypt version Cloudinary version Query String version React Date Range version React Hook Form version React Icons version React Hot Toast version React Leaflet version React Select version React spinners version World countries data version Zustand version Deployed on MongoDB Atlas

Airbnb app clone with Next.js 13, that allows you to search for properties, add them to favorites, make reservations, login with Google, Github or Email, list your properties, and more.

Features

  • Responsive design with Tailwind CSS
  • Show a list of cards with properties like Airbnb
  • Listings with images, title, description, location, price per night
  • Has a navbar with logo, search bar, sign in button
  • Show avatar and name of user when signed in
  • Has categories filters like Airbnb
  • Has filters for number of guests, rooms, location, dates
  • Has a map with markers for each property
  • Has a calendar to select dates
  • Has a form to add a new property
  • Has a form to sign in
  • Has a form to sign up
  • Has a heart button to add a property to favorites
  • Image upload with Cloudinary
  • Page to show trips of a user
  • Page to show reservations of a property
  • Page to show properties of a user
  • Page to show favorites listings of a user
  • Authentication with NextAuth.js
  • Authentication with Google, Github and Email
  • Database with MongoDB and Prisma
  • Use App router from Next.js 13
  • Deployed on Vercel

Tech Stack

Getting Started

This is a Next.js project bootstrapped with create-next-app.

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

http://localhost:3000/api/hello is an endpoint that uses Route Handlers. This endpoint can be edited in app/api/hello/route.ts.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

Demo

You can check out the demo here.