{"id":26824769,"url":"https://github.com/kdf25/nextjs-airbnb","last_synced_at":"2026-04-05T22:01:35.949Z","repository":{"id":283498555,"uuid":"951881904","full_name":"KDF25/nextjs-airbnb","owner":"KDF25","description":"Fully adaptive Airbnb-style rental platform for seamless booking and property management, ensuring convenience for hosts and guests.","archived":false,"fork":false,"pushed_at":"2025-03-27T20:59:11.000Z","size":322,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T21:37:19.454Z","etag":null,"topics":["fsd","html","mongodb","next-toploader","nextauth","nextjs","prisma","tailwindcss","typescript","zustand"],"latest_commit_sha":null,"homepage":"https://airbnb-booking-site.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/KDF25.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":"2025-03-20T11:47:47.000Z","updated_at":"2025-03-27T20:59:15.000Z","dependencies_parsed_at":"2025-03-20T15:46:24.327Z","dependency_job_id":null,"html_url":"https://github.com/KDF25/nextjs-airbnb","commit_stats":null,"previous_names":["kdf25/nextjs-airbnb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDF25%2Fnextjs-airbnb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDF25%2Fnextjs-airbnb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDF25%2Fnextjs-airbnb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDF25%2Fnextjs-airbnb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KDF25","download_url":"https://codeload.github.com/KDF25/nextjs-airbnb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246301992,"owners_count":20755514,"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":["fsd","html","mongodb","next-toploader","nextauth","nextjs","prisma","tailwindcss","typescript","zustand"],"created_at":"2025-03-30T10:17:23.107Z","updated_at":"2025-12-30T23:17:28.258Z","avatar_url":"https://github.com/KDF25.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Airbnb\n\nWelcome to **Airbnb** – a modern and fully functional vacation rental platform built with Next.js and TypeScript.\n\n## Features\n\n- **Next.js** ⚡ - A powerful React framework for server-side rendering and static site generation.\n- **TypeScript** 🛡️ - Statically typed JavaScript for better code reliability.\n- **Tailwind CSS** 🎨 - A utility-first CSS framework for rapid styling.\n- **Prisma** 🗂️ - ORM for database management and seamless integration.\n- **React Hook Form** 📋 - Form management with validation.\n- **Zustand** 🔧 - Lightweight state management solution.\n- **Framer Motion** 🎬 - Smooth animations for enhanced user experience.\n- **Leaflet \u0026 React Leaflet** 🗺️ - Interactive maps for location-based services.\n- **React Toastify** 🔔 - Toast notifications for user interactions.\n- **NextAuth.js** 🔑 - Authentication with Google, GitHub, and Facebook.\n- **Cloudinary** ☁️ - Image upload and optimization.\n\n## Authentication \u0026 Registration\n\n- **OAuth Authentication**: Users can log in using **Google, GitHub, and Facebook** accounts.\n- **Email Verification**: Users receive a confirmation email after registration.\n\n## Database Hosting\n\n- **PostgreSQL with Prisma**: Database management via Prisma ORM.\n- **Neon** 🚀 - Cloud-based PostgreSQL hosting for high performance and scalability.\n\n## Installation\n\n### Clone the repository:\n```sh\ngit clone https://github.com/KDF25/nextjs-airbnb.git\n```\n\n### Navigate to the project folder:\n```sh\ncd airbnb\n```\n\n### Install dependencies:\n```sh\nnpm install\n```\n\n### Set up environment variables:\nCreate a `.env` file and add the following environment variables:\n```sh\nDATABASE_URL=\n\nGOOGLE_CLIENT_ID=\nGOOGLE_CLIENT_SECRET=\n\nFACEBOOK_ID=\nFACEBOOK_SECRET=\n\nGITHUB_ID=\nGITHUB_SECRET=\n\nNEXTAUTH_SECRET=\nNEXTAUTH_URL=\nNEXT_PUBLIC_API_URL=\n\nNEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=\nCLOUDINARY_URL=\n```\n\n## Running the Project\n\n### Development Mode\n```sh\nnpm run dev\n```\nThe application will be available at: **http://localhost:3000**\n\n### Production Mode\n\n#### Build the project:\n```sh\nnpm run build\n```\n\n#### Start the production server:\n```sh\nnpm run start\n```\n\n## Project Structure (FSD Architecture)\n\n- `src/entities` 🏗️ - Business logic entities.\n- `src/features` ⚡ - Isolated business functionality modules.\n- `src/shared` 🛠️ - Common modules used across the app.\n- `src/widgets` 💡 - Modular components for building feature-rich UI.\n\n## Scripts\n\n- `npm run dev` 🚀 - Start in development mode.\n- `npm run build` 🏗️ - Build the application.\n- `npm run start` 🌐 - Start the production server.\n- `npm run lint` 🔍 - Code linting.\n- `npm run format` 🧹 - Format code with Prettier.\n- `npm run prisma:generate` 🔄 - Generate Prisma client.\n- `npm run prisma:push` 📥 - Apply changes to the database.\n- `npm run prisma:migrate` 📜 - Create migrations.\n- `npm run prisma:studio` 🖥️ - Open Prisma Studio UI.\n- `npm run prisma:seed` 🌱 - Seed initial database data.\n\n## Dependencies\n\n### Core Technologies\n- **Next.js** ⚡ - React framework for SSR and static generation.\n- **React** ⚛️ - UI library for building interactive applications.\n- **TypeScript** 🛡️ - Type-safe JavaScript.\n\n### Database Management\n- **Prisma** 🗂️ - Modern ORM for working with SQL databases.\n\n### UI \u0026 Styling\n- **Tailwind CSS** 🎨 - Utility-first CSS framework.\n- **Framer Motion** 🎬 - Motion animations.\n- **React Toastify** 🔔 - Toast notifications.\n- **React Select** 🔽 - Select dropdown component.\n\n### Forms \u0026 Data Validation\n- **React Hook Form** 📋 - Form management.\n- **Zod** ✅ - Schema validation.\n\n### State Management\n- **Zustand** 🔧 - Lightweight state management.\n\n### API \u0026 Integrations\n- **Axios** 🌍 - HTTP client.\n- **Cloudinary** ☁️ - Image storage and optimization.\n- **NextAuth.js** 🔑 - Authentication system.\n\n### Other Utilities\n- **Lucide React** 🎨 - Icon library.\n- **Clsx** 🔤 - Utility for conditionally joining class names.\n- **Sass** 💅 - CSS preprocessor.\n\n## Deployment\n\nYou can deploy this project on **Vercel** or any other Next.js-compatible platform:\n\n1. Go to **Vercel** and create a new project.\n2. Connect your GitHub repository.\n3. Set up environment variables.\n4. Click **Deploy**.\n\n---\n\n© 2025 Airbnb. All rights reserved.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdf25%2Fnextjs-airbnb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdf25%2Fnextjs-airbnb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdf25%2Fnextjs-airbnb/lists"}