{"id":14961167,"url":"https://github.com/sashenjayathilaka/airbnb-build","last_synced_at":"2025-09-14T07:25:37.020Z","repository":{"id":59870140,"uuid":"527096813","full_name":"SashenJayathilaka/Airbnb-Build","owner":"SashenJayathilaka","description":"Full Stack Airbnb Clone with Next.js 13 Tailwind-css, Prisma, MongoDB, NextAuth, Framer-motionSocial, Login (Google and Facebook), Image upload, Cloudinary CDN, Location selection, Map component, Country autocomplete, Fetching listings with server components","archived":false,"fork":false,"pushed_at":"2023-07-22T05:35:44.000Z","size":30461,"stargazers_count":349,"open_issues_count":0,"forks_count":87,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-02T07:11:13.848Z","etag":null,"topics":["axios","bcrypt","cloudinary","date-fns","framer-motion","mongodb","next-auth","next-js-13","prisma-client","query-string","react-date-range","react-hook-form","react-icons","react-leaflet","react-select","react-toastify","tailwindcss","typescript","world-countries","zustand"],"latest_commit_sha":null,"homepage":"https://abproject-sclone.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SashenJayathilaka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-21T03:36:30.000Z","updated_at":"2025-05-31T20:26:40.000Z","dependencies_parsed_at":"2024-12-23T10:38:50.214Z","dependency_job_id":null,"html_url":"https://github.com/SashenJayathilaka/Airbnb-Build","commit_stats":{"total_commits":64,"total_committers":3,"mean_commits":"21.333333333333332","dds":0.046875,"last_synced_commit":"b54ed4c5775af2a5b115ff3aa78499f8c017589f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SashenJayathilaka/Airbnb-Build","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FAirbnb-Build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FAirbnb-Build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FAirbnb-Build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FAirbnb-Build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SashenJayathilaka","download_url":"https://codeload.github.com/SashenJayathilaka/Airbnb-Build/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FAirbnb-Build/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275076314,"owners_count":25401312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","bcrypt","cloudinary","date-fns","framer-motion","mongodb","next-auth","next-js-13","prisma-client","query-string","react-date-range","react-hook-form","react-icons","react-leaflet","react-select","react-toastify","tailwindcss","typescript","world-countries","zustand"],"created_at":"2024-09-24T13:24:03.891Z","updated_at":"2025-09-14T07:25:36.997Z","avatar_url":"https://github.com/SashenJayathilaka.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"https://user-images.githubusercontent.com/99184393/185779974-a31a9f47-f8d3-42ea-b7f8-4a2971774615.png\" alt=\"logo\" width=\"250\" height=\"auto\" /\u003e\n  \n# Airbnb Clone with Next.js 13!\n  \n  \u003cp\u003e\nFull Stack Airbnb Clone with Next.js 13 Tailwind-css, Prisma, MongoDB, NextAuth, Framer-motionSocial, Login (Google and Facebook), Image upload, Cloudinary CDN, Location selection, Map component, Country autocomplete, Fetching listings with server components.\n  \u003c/p\u003e\n  \n\u003c!-- Badges --\u003e\n\u003ca href=\"https://airbnb-sclone.vercel.app\" target=\"_blank\"\u003e![](https://img.shields.io/website-up-down-green-red/http/monip.org.svg)\u003c/a\u003e\n![](https://img.shields.io/badge/Maintained-Yes-indigo)\n![](https://img.shields.io/github/forks/SashenJayathilaka/Airbnb-Build.svg)\n![](https://img.shields.io/github/stars/SashenJayathilaka/Airbnb-Build.svg)\n![](https://img.shields.io/github/issues/SashenJayathilaka/Airbnb-Build)\n![](https://img.shields.io/github/last-commit/SashenJayathilaka/Airbnb-Build)\n\n\u003ch4\u003e\n    \u003ca href=\"https://abproject-sclone.vercel.app\"\u003eView Demo\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/SashenJayathilaka/Airbnb-Build/blob/master/README.md\"\u003eDocumentation\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/SashenJayathilaka/Airbnb-Build/issues\"\u003eReport Bug\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/SashenJayathilaka/Airbnb-Build/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003c!-- Table of Contents --\u003e\n\n## :notebook_with_decorative_cover: Table of Contents\n\n- [About the Project](#star2-about-the-project)\n  - [Screenshots](#camera-screenshots)\n  - [Tech Stack](#space_invader-tech-stack)\n  - [Environment Variables](#key-environment-variables)\n- [Getting Started](#toolbox-getting-started)\n  - [Prerequisites](#bangbang-prerequisites)\n  - [Installation](#gear-installation)\n  - [Run Locally](#running-run-locally)\n  - [Deployment](#triangular_flag_on_post-deployment)\n- [Contact](#handshake-contact)\n\n\u003c!-- About the Project --\u003e\n\n## :star2: About the Project\n\n\u003c!-- Screenshots --\u003e\n\n### :camera: Screenshots\n\n- Reservation functionality \u0026 Description and Price, Listing creation, Listing card component\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://airbnb-sclone.vercel.app\"\u003e\u003cimg  src='./demo/ezgif-4-27f1be5f56.gif' alt='image'/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n- Searching functionality Favorite functionality, Individual Listing View, Listing reservation component\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://airbnb-sclone.vercel.app\"\u003e\u003cimg  src='./demo/ezgif-4-8ac9db77ff.gif' alt='image'/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## \u003ca href=\"https://airbnb-sclone.vercel.app\" target=\"_blank\"\u003eLIVE DEMO 💥\u003c/a\u003e\n\n![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)\n![forthebadge](https://forthebadge.com/images/badges/for-you.svg)\n![forthebadge](https://forthebadge.com/images/badges/powered-by-coffee.svg)\n\n### :space_invader: Tech Stack\n\n\u003cdetails\u003e\n  \u003csummary\u003eClient\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://#/\"\u003eTypescript\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://nextjs.org/\"\u003eNext.js\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://reactjs.org/\"\u003eReact.js\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://tailwindcss.com/\"\u003eTailwindCSS\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://www.prisma.io\"\u003ePrisma\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDatabase\u003c/summary\u003e\n  \u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https://firebase.google.com\"\u003eMongodb\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://cloudinary.com/\"\u003eCloudinary\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cbr /\u003e\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/react/react-original.svg\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/183096870-fdf58e59-d78c-44f4-bd1c-f9033c16d907.png\" alt=\"Google\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/179383376-874f547c-4e6f-4826-850e-706b009e7e2b.png\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                              \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/181918664-569af962-756c-438c-b350-294f042e6f61.png\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/180462270-ea4a249c-627c-4479-9431-5c3fd25454c4.png\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                                \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/185779974-a31a9f47-f8d3-42ea-b7f8-4a2971774615.png\" alt=\"\" width=\"30\"height=\"30\"/\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                                      \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/229775276-a7cb148b-7fbd-4334-a07f-f2223bc49f62.png\" alt=\"\" width=\"30\"height=\"30\"/\u003e\u003c/a\u003e\n        \u003c/td\u003e\n      \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/204170976-0e5c6e2a-2b41-483d-adbd-d5d1e40b8d15.png\" alt=\"\" width=\"30\"height=\"30\"/\u003e\u003c/a\u003e\n        \u003c/td\u003e\n        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/214867309-7b59fa0e-c872-484e-bc8f-462896c54d2a.png\" alt=\"\" height=\"30\"/\u003e\u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## :toolbox: Getting Started\n\n### :bangbang: Prerequisites\n\n- Install Node JS in your computer \u003ca href='https://nodejs.org/en/'\u003eHERE\u003c/a\u003e\n- Sign up for a Cloudinary account \u003ca href='https://cloudinary.com/'\u003eHERE\u003c/a\u003e\n- Sign up for a Google Cloud Platform \u003ca href='https://console.cloud.google.com/'\u003eHERE\u003c/a\u003e\n- Sign up for a Meta for Developers \u003ca href='https://developers.facebook.com'\u003eHERE\u003c/a\u003e\n- Get Lookup APi Key \u003ca href='https://extreme-ip-lookup.com/'\u003eHERE\u003c/a\u003e\n\n\u003c!-- Env Variables --\u003e\n\n### :key: Environment Variables\n\nTo run this project, you will need to add the following environment variables to your .env file\n\n`DATABASE_URL`\n\n`GOOGLE_CLIENT_ID`\n\n`GOOGLE_CLIENT_SECRET`\n\n`FACEBOOK_ID`\n\n`FACEBOOK_SECRET`\n\n`NEXTAUTH_SECRET`\n\n`NEXTAUTH_URL`\n\n`NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME`\n\n`NEXT_PUBLIC_LOOKUP_KEY`\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n### :gear: Installation\n\n![](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)\n![](https://img.shields.io/badge/next.js-20232A?style=for-the-badge\u0026logo=next.js\u0026logoColor=61DAFB)\n\nInstall my-project with npm\n\n```\nnpx create-next-app@latest my-project --typescript --eslint\n```\n\n```\ncd my-project\n```\n\nInstall dependencies\n\n### :test_tube: Install Tailwind CSS with Next.js\n\n#### Install Tailwind CSS\n\n![](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)\n\nInstall tailwindcss and its peer dependencies via npm, and then run the init command to generate both `tailwind.config.js` and `postcss.config.js`.\n\n```\nnpm install -D tailwindcss postcss autoprefixer\n```\n\n```\nnpx tailwindcss init -p\n```\n\n#### Configure your template paths\n\nAdd the paths to all of your template files in your `tailwind.config.js` file.\n\u003cbr\u003e\n\n```js\n/** @type {import('tailwindcss').Config} */\nmodule.exports = {\n  content: [\n    \"./app/**/*.{js,ts,jsx,tsx}\",\n    \"./pages/**/*.{js,ts,jsx,tsx}\",\n    \"./components/**/*.{js,ts,jsx,tsx}\",\n\n    // Or if using `src` directory:\n    \"./src/**/*.{js,ts,jsx,tsx}\",\n  ],\n  theme: {\n    extend: {},\n  },\n  plugins: [],\n};\n```\n\n#### Add the Tailwind directives to your CSS\n\nAdd the `@tailwind` directives for each of Tailwind’s layers to your `./styles/globals.css` file.\n\n```css\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n```\n\nInstall dependencies\n\n\u003ca href=\"https://github.com/SashenJayathilaka/Airbnb-Build/blob/master/package.json\" target=\"_blank\"\u003e🔶 Dependency Info\u003c/a\u003e\n\n\u003c!-- Run Locally --\u003e\n\n### :running: Run Locally\n\n![](https://img.shields.io/badge/GIT-E44C30?style=for-the-badge\u0026logo=git\u0026logoColor=white)\n\nClone the project\n\n```bash\n  git clone https://github.com/SashenJayathilaka/Airbnb-Build.git\n```\n\nchange directory\n\n```bash\n  cd Airbnb-Build\n```\n\nInstall dependencies\n\n```bash\n  npm install\n```\n\nStart the server\n\n```bash\n  npm run dev\n```\n\n\u003chr /\u003e\n\nThis is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).\n\n\u003chr /\u003e\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.\n\n[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.\n\n### Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n\nYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!\n\n\u003c!-- Deployment --\u003e\n\n### :triangular_flag_on_post: Deployment\n\nTo deploy this project run\n\n##### Deploy on Vercel\n\n![](https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white)\n\nThe easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template\u0026filter=next.js\u0026utm_source=create-next-app\u0026utm_campaign=create-next-app-readme) from the creators of Next.js.\n\nCheck out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.\n\n## :handshake: Contact\n\nSashen - [@twitter_handle](https://twitter.com/SashenHasinduJ) - sashenjayathilaka95@gmail.com\n\nProject Link: [https://github.com/SashenJayathilaka/Airbnb-Build.git](https://github.com/SashenJayathilaka/Airbnb-Build.git)\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://airbnb-sclone.vercel.app\"\u003e\u003cimg  src='https://user-images.githubusercontent.com/99184393/229773559-72e7f64a-361d-4285-976a-00a8919dd783.png' alt='image'/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003eDon't forget to leave a star ⭐️\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsashenjayathilaka%2Fairbnb-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsashenjayathilaka%2Fairbnb-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsashenjayathilaka%2Fairbnb-build/lists"}