Skip to content

ngoc2003/airbnb-clone

Repository files navigation

Contributors Forks Stargazers Issues

About The Project

Airbnb

This website is inspired by Airbnb and has been created solely for educational purposes. I hope you find something valuable to study in my project ❤️. If you have any questions or need assistance, please feel free to ask. Good luck with your learning journey!

Built With

Next Tailwindcss Typescript MongoDB Docker Vercel Prisma

Getting Started

Running follow these simple example steps below

Prerequisites

  • yarn
  npm i yarn -g

Installation

  1. Clone the repo
  git clone https://github.com/ngoc2003/airbnb-clone.git
  1. Create .env file in main path
  2. Copy your env values like .env.example file
  3. Install packages
  yarn install
  1. Set up prisma
  npx prisma db push
  1. Run project
  yarn dev
  1. Open website in http://localhost:3000/

Note

If you add a new schema to the database or modifiy any fields in database, you must run this code below before rerunning the project.

  npx prisma db push

Roadmap

  • Multi-language Support
    • English
    • Vietnamese
    • Japanese
  • Rich text editor
  • Infinity scroll page

Features

  • Tailwind design, animations and effects
  • Responsive for all devices
  • Credential authentication
  • Google authentication
  • Github authentication
  • Image upload using Cloudinary CDN
  • Client form validation and handling using react-hook-form
  • Server error handling using react-toast
  • Calendars with react-date-range
  • Page loading state
  • Page empty state
  • Booking / Reservation system
  • Guest reservation cancellation
  • Owner reservation cancellation
  • Creation and deletion of properties
  • Pricing calculation
  • Advanced search by category, date range, map location, number of guests, rooms and bathrooms
  • Favorites system
  • Shareable URL filters by categories
  • Review system
  • Rich text editor
  • Infinity scroll data

Tools & Versions

Tools Versions
yarn 1.22.19

Packages

See full packages at Package.json

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Bui Ngoc - Facebook

Releases

No releases published

Packages

No packages published

Languages