{"id":48735109,"url":"https://github.com/aihridoy/airbnb","last_synced_at":"2026-04-12T03:43:00.105Z","repository":{"id":278624703,"uuid":"924156927","full_name":"aihridoy/airbnb","owner":"aihridoy","description":"Easily book your stay with our intuitive Hotel Booking Web Application, designed to simplify the booking process.","archived":false,"fork":false,"pushed_at":"2025-07-31T16:21:03.000Z","size":539,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-12T03:42:55.827Z","etag":null,"topics":["mongodb","mongoose","nextjs","oauth2","pdflib","resend-email","rest-api","tailwindcss"],"latest_commit_sha":null,"homepage":"https://airbnb-gold-nine.vercel.app","language":"JavaScript","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/aihridoy.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,"zenodo":null}},"created_at":"2025-01-29T14:16:13.000Z","updated_at":"2025-07-31T16:21:08.000Z","dependencies_parsed_at":"2025-02-20T19:42:11.827Z","dependency_job_id":"a899a438-b134-408a-a241-3d74d7b4d4a4","html_url":"https://github.com/aihridoy/airbnb","commit_stats":null,"previous_names":["aihridoy/airbnb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aihridoy/airbnb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aihridoy%2Fairbnb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aihridoy%2Fairbnb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aihridoy%2Fairbnb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aihridoy%2Fairbnb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aihridoy","download_url":"https://codeload.github.com/aihridoy/airbnb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aihridoy%2Fairbnb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31703501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"online","status_checked_at":"2026-04-12T02:00:06.763Z","response_time":58,"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":["mongodb","mongoose","nextjs","oauth2","pdflib","resend-email","rest-api","tailwindcss"],"created_at":"2026-04-12T03:42:59.646Z","updated_at":"2026-04-12T03:43:00.096Z","avatar_url":"https://github.com/aihridoy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏠 AirBnB Clone - Hotel Booking App\n\n![AirBnB Homepage](https://i.ibb.co.com/VYRC3pY9/airbnb.png)\n\nA feature-rich Airbnb clone built with **Next.js**, **React**, and **MongoDB**, delivering a seamless user experience for property rentals and bookings. Explore, book, and manage listings with ease!\n\n---\n\n## 📖 Overview\n\nThis project is a full-stack web application that replicates core Airbnb functionalities, including property listings, user authentication, booking management, and responsive design. Built with modern web development practices, it emphasizes scalability, performance, and user experience.\n\n---\n\n## ✨ Key Features\n\n### 🔐 Authentication \u0026 User Management\n- Secure sign-up/login via **NextAuth** with Google OAuth integration\n- MongoDB-based user data storage and session management\n\n### 🏘️ Property Management\n- Browse and search rental listings with advanced filtering\n- Dynamic property data rendering from MongoDB\n- High-quality image galleries with carousel functionality\n\n### 📅 Booking System\n- Intuitive date selection using `react-datepicker`\n- Real-time availability checking\n- Booking confirmation with PDF generation capabilities\n\n### 🎨 User Interface\n- Fully responsive design optimized for all devices\n- Modern UI crafted with **Tailwind CSS**\n- Interactive image carousels powered by **Swiper**\n- Toast notifications for enhanced user feedback\n\n### 🔧 Additional Features\n- Social sharing integration with `next-share`\n- Email notifications via **Resend API**\n- Image optimization with `sharp` for fast loading\n- PDF booking confirmations using `pdf-lib`\n\n---\n\n## 🛠️ Tech Stack\n\n### Frontend\n- **Framework**: Next.js 14 with App Router\n- **UI Library**: React 18\n- **Styling**: Tailwind CSS\n- **Components**: Custom React components\n\n### Backend\n- **Database**: MongoDB with Mongoose ODM\n- **Authentication**: NextAuth.js with Google Provider\n- **API**: Next.js API Routes\n\n### Key Dependencies\n| Package | Purpose |\n|---------|---------|\n| `react-datepicker` | Date selection for bookings |\n| `swiper` | Image carousels and sliders |\n| `react-toastify` | User notifications |\n| `pdf-lib` | PDF generation for bookings |\n| `next-share` | Social media sharing |\n| `sharp` | Image optimization |\n| `date-fns` | Date manipulation utilities |\n| `resend` | Email service integration |\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n- **Node.js** (v18 or higher)\n- **MongoDB** (local or cloud instance)\n- **npm** or **yarn** package manager\n\n### Installation Steps\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/your-username/airbnb-clone.git\n   cd airbnb-clone\n   ```\n\n2. **Install dependencies**\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables**\n   \n   Create a `.env.local` file in the root directory and add the following variables:\n\n   ```env\n   # Database Configuration\n   MONGODB_CONNECTION_STRING=mongodb+srv://[username]:[password]@cluster0.suylw.mongodb.net/airbnb\n\n   # Image Upload Service\n   IMGBB_API_KEY=your_imgbb_api_key_here\n\n   # Google OAuth Configuration\n   GOOGLE_CLIENT_ID=your_google_client_id_here\n   GOOGLE_CLIENT_SECRET=your_google_client_secret_here\n\n   # NextAuth Configuration\n   AUTH_SECRET=your_nextauth_secret_here\n\n   # Application URLs\n   NEXT_PUBLIC_API_BASE_URL=http://localhost:3000\n\n   # Email Service\n   NEXT_PUBLIC_RESEND_API_KEY=your_resend_api_key_here\n   ```\n\n   \u003e ⚠️ **Security Note**: Never commit your `.env.local` file to version control. The actual API keys and secrets should be obtained from their respective service providers.\n\n4. **Run the development server**\n   ```bash\n   npm run dev\n   ```\n\n5. **Access the application**\n   \n   Open [http://localhost:3000](http://localhost:3000) in your browser to see the application.\n\n### Production Deployment\n\n1. **Build the application**\n   ```bash\n   npm run build\n   ```\n\n2. **Start production server**\n   ```bash\n   npm start\n   ```\n\n---\n\n## 📁 Project Structure\n\n```\nairbnb-clone/\n├── app/                    # Next.js 14 App Router\n├── components/             # Reusable React components\n├── lib/                    # Utility functions and configurations\n├── models/                 # MongoDB/Mongoose models\n├── public/                 # Static assets\n├── styles/                 # Global styles and Tailwind config\n├── .env.local             # Environment variables\n├── next.config.js         # Next.js configuration\n└── package.json           # Project dependencies\n```\n\n---\n\n## 🔐 Environment Variables Guide\n\n### Required Environment Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `MONGODB_CONNECTION_STRING` | MongoDB database connection URL | `mongodb+srv://user:pass@cluster.mongodb.net/db` |\n| `IMGBB_API_KEY` | Image upload service API key | Get from [ImgBB](https://api.imgbb.com/) |\n| `GOOGLE_CLIENT_ID` | Google OAuth client ID | Get from [Google Console](https://console.developers.google.com/) |\n| `GOOGLE_CLIENT_SECRET` | Google OAuth client secret | Get from [Google Console](https://console.developers.google.com/) |\n| `AUTH_SECRET` | NextAuth secret for JWT encryption | Generate with `openssl rand -base64 32` |\n| `NEXT_PUBLIC_API_BASE_URL` | Base URL for API calls | `http://localhost:3000` (development) |\n| `NEXT_PUBLIC_RESEND_API_KEY` | Email service API key | Get from [Resend](https://resend.com/) |\n\n\n\n\n## 🙏 Acknowledgments\n\n- **Airbnb** for the inspiration and design reference\n- **Next.js Team** for the amazing framework\n- **MongoDB** for the flexible database solution\n- **Tailwind CSS** for the utility-first CSS framework\n\n---\n\n## 📞 Support\n\nIf you have any questions or need help with setup, please open an issue in the GitHub repository.\n\n**Happy Coding! 🚀**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faihridoy%2Fairbnb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faihridoy%2Fairbnb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faihridoy%2Fairbnb/lists"}