{"id":17746651,"url":"https://github.com/luancss/next13-airbnb-clone","last_synced_at":"2025-04-01T16:31:03.175Z","repository":{"id":211308391,"uuid":"728777114","full_name":"Luancss/next13-airbnb-clone","owner":"Luancss","description":"I developed an Airbnb clone with comprehensive functionalities, covering everything from a responsive frontend to a robust backend to provide a complete experience to users.","archived":false,"fork":false,"pushed_at":"2024-03-13T18:35:08.000Z","size":472,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-03-14T18:43:01.093Z","etag":null,"topics":["axios","bcrypt","cloudinary","mongodb","nextjs","prisma","reactjs","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"","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/Luancss.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":"2023-12-07T17:09:05.000Z","updated_at":"2024-03-13T05:37:28.000Z","dependencies_parsed_at":"2024-10-26T10:40:15.021Z","dependency_job_id":"9d55b9e8-3750-4177-9eda-179d5e5a13ec","html_url":"https://github.com/Luancss/next13-airbnb-clone","commit_stats":null,"previous_names":["luancss/next13-airbnb-clone"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luancss%2Fnext13-airbnb-clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luancss%2Fnext13-airbnb-clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luancss%2Fnext13-airbnb-clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luancss%2Fnext13-airbnb-clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Luancss","download_url":"https://codeload.github.com/Luancss/next13-airbnb-clone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246620654,"owners_count":20806815,"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","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","mongodb","nextjs","prisma","reactjs","tailwindcss","typescript"],"created_at":"2024-10-26T08:08:09.737Z","updated_at":"2025-04-01T16:31:02.872Z","avatar_url":"https://github.com/Luancss.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Full Stack Airbnb Clone with Next.js 13 App Router: React, Tailwind, Prisma, MongoDB, NextAuth 2023\n\n### Desktop (screenshot):\n\n| Home  | Info Propertie | \n| --- | --- |\n| ![airbnb1](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/ca1eeaab-3c30-4f51-8966-ab4a4e688b45) | ![airbnb2](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/f6a3120f-eef0-4e19-bfa0-e49b3c57bad8)\n\n\n| Reserve | My Trips |\n| --- | --- |\n| ![airbnb3](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/e943c998-01cb-4750-8e4d-fdebb79d3096) | ![airbnb4](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/f21059ea-c7a6-4e64-b1c0-476d9366a35b)\n\n| My Properties  | Location | \n| --- | --- |\n| ![airbnb11](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/5b00e46b-3eaa-4efe-922a-04c5d62b927b) | ![airbnb5](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/98a590a2-3e6f-453c-afbf-d422c12c2cd2)\n\n| Location Map | Add Info Reservation |\n| --- | --- |\n| ![airbnb6](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/7260f7f7-0454-4f0e-8d72-3304845ef09e) | ![airbnb7](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/fd0d43d3-c8b0-4b57-bff4-0188697cc367)\n\n| Upload Photo  | Title and Description | \n| --- | --- |\n| ![airbnb8](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/abda9a7b-11be-41b8-ab38-6cf3d0decba2) | ![airbnb9](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/12efe872-7c97-4ec3-9961-ec355ee5738f)\n\n![airbnb10](https://github.com/Luancss/next13-airbnb-clone/assets/104950187/84177110-0575-4a81-86d5-1573fcfb4fdd)\n\n\nThis is a repository for a Full Stack Airbnb Clone with Next.js 13 App Router: React, Tailwind, Prisma, MongoDB, NextAuth.\n\n[DEPLOY]()\n\nFeatures:\n\n- Tailwind design\n- Tailwind animations and effects\n- Full responsiveness\n- Credential authentication\n- Google authentication\n- Github authentication\n- Image upload using Cloudinary CDN\n- Client form validation and handling using react-hook-form\n- Server error handling using react-toast\n- Calendars with react-date-range\n- Page loading state\n- Page empty state\n- Booking / Reservation system\n- Guest reservation cancellation\n- Owner reservation cancellation\n- Creation and deletion of properties\n- Pricing calculation\n- Advanced search algorithm by category, date range, map location, number of guests, rooms and bathrooms\n    - For example we will filter out properties that have a reservation in your desired date range to travel\n- Favorites system\n- Shareable URL filters\n    - Lets say you select a category, location and date range, you will be able to share URL with a logged out friend in another browser and they will see the same results\n- How to write POST and DELETE routes in route handlers (app/api)\n- How to fetch data in server react components by directly accessing database (WITHOUT API! like Magic!)\n- How to handle files like error.tsx and loading.tsx which are new Next 13 templating files to unify loading and error handling\n- How to handle relations between Server and Child components!\n\n### Prerequisites\n\n**Node version 14.x**\n\n### Cloning the repository\n\n```shell\ngit clone https://github.com/Luancss/next13-airbnb-clone\n```\n\n### Install packages\n\n```shell\nnpm install\n```\n\n### Setup .env file\n\n\n```js\nDATABASE_URL=\nGOOGLE_CLIENT_ID=\nGOOGLE_CLIENT_SECRET=\nGITHUB_ID=\nGITHUB_SECRET=\nNEXTAUTH_SECRET=\n```\n\n### Setup Prisma\n\n```shell\nnpx prisma db push\n\n```\n\n### Start the app\n\n```shell\nnpm run dev\n```\n\n## Available commands\n\nRunning commands with npm `npm run [command]`\n\n| command         | description                              |\n| :-------------- | :--------------------------------------- |\n| `dev`           | Starts a development instance of the app |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluancss%2Fnext13-airbnb-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluancss%2Fnext13-airbnb-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluancss%2Fnext13-airbnb-clone/lists"}