This project is a clone of Airbnb, built with Next.js using TypeScript and MongoDB bootstrapped create-next-app
. It features essential technologies and packages like MongoDB
for database management, Leaflet
for map functionality, Axios
for handling HTTP requests, bcrypt
for password hashing, Prisma
as the ORM, Tailwind
CSS for styling, Next-Auth
for authentication, React Hook Form
for form handling, Zustand
for state management, and Next Cloudinary
for cloud-based image storage.
To run the Airbnb Clone project locally, follow the steps below:
git clone <repository_url>
cd airbnb-clone-project
npm install
# or
yarn install
# or
pnpm install
Create a .env
file in the root of the project and add the following environment variables with their respective values:
...
NEXTAUTH_SECRET=<"NEXTAUTH_SECRET">
GITHUB_ID=<YOUR_GITHUB_ID>
GITHUB_SECRET=<YOUR_GITHUB_SECRET_ID>
GOOGLE_CLIENT_ID=<YOUR_GOOGLE_CLIENT_ID>
GOOGLE_CLIENT_SECRET=<YOUR_GOOGLE_CLIENT_SECRET_ID>
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=<"YOUR_CLOUDINARY_CLOUD_NAME">
Set up a MongoDB database and configure the connection string in your .env
file:
DATABASE_URL=<YOUR_MONGODB_DATABASE_CONNECTION_URL>
...
npx prisma migrate dev
npm run dev
# or
yarn dev
# or
pnpm dev
The application should be running at http://localhost:3000.