{"id":17808672,"url":"https://github.com/maximoortelli/full-stack-rental","last_synced_at":"2025-04-02T06:23:15.963Z","repository":{"id":225398141,"uuid":"765893182","full_name":"maximoortelli/Full-Stack-Rental","owner":"maximoortelli","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-04T17:31:16.000Z","size":4798,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T20:49:50.854Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://full-stack-rental.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maximoortelli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-03-01T20:37:46.000Z","updated_at":"2024-10-25T01:01:04.000Z","dependencies_parsed_at":"2024-10-25T05:30:57.422Z","dependency_job_id":"49ac9957-db08-4338-867d-039cf5efcd09","html_url":"https://github.com/maximoortelli/Full-Stack-Rental","commit_stats":null,"previous_names":["maximoortelli/full-stack-rental"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximoortelli%2FFull-Stack-Rental","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximoortelli%2FFull-Stack-Rental/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximoortelli%2FFull-Stack-Rental/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximoortelli%2FFull-Stack-Rental/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maximoortelli","download_url":"https://codeload.github.com/maximoortelli/Full-Stack-Rental/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246764657,"owners_count":20829970,"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":[],"created_at":"2024-10-27T15:12:26.923Z","updated_at":"2025-04-02T06:23:15.930Z","avatar_url":"https://github.com/maximoortelli.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003cdiv align=\"center\"\u003e\n   \u003ch1\u003e🏘🏙 Full Stack Airbnb 🏙🏘\u003c/h1\u003e\n\u003c/div\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./public/images/airbnb.jpg\" /\u003e\n  \u003c/div\u003e\n\n# 📗 Table of Contents\n\n- [📗 Table of Contents](#-table-of-contents)\n- [🏘🏙 Full Stack Airbnb](#-full-stack-airbnb)\n- [✅ Deployment](#-deployment)\n  - [🛠 Built With](#-built-with)\n    - [Tech Stack](#tech-stack)\n  - [💻 Getting Started](#-getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Setup](#setup)\n    - [Install](#install)\n    - [💾 Database](#-database)\n    - [Usage](#usage)\n    - [Run tests](#run-tests)\n  - [📊 Kanban Board](#-kanban-board)\n  - [👥 Authors](#-authors)\n  - [🔭 Future Features](#-future-features)\n  - [🤝 Contributing](#-contributing)\n  - [⭐️ Show your support](#️-show-your-support)\n  - [🙏 Acknowledgments](#-acknowledgments)\n  - [📝 License](#-license)\n\n# 🏘🏙 Full Stack Airbnb \u003ca name=\"full-stack-amazon\"\u003e\u003c/a\u003e\n\n\u003e In this new project I have made a site to reserve or rent houses or apartments identical to Airbnb, taking advantage of key technologies such as JavaScript, TypeScript, React, Node Next.js, NextAuth, Tailwind.css, MongoDB and Express.\n\n# 💻✅ Deployment \n\n\u003ca name=\"deployment\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://full-stack-rental.vercel.app/\" target=\"_blank\"\u003eClick here to see the deployment\u003c/a\u003e\n\n# 🛠 Built With \n\n\u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n# Tech Stack \n\n\u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n\u003cdiv\u003e\n     \u003ch2\u003eClient side\u003c/h2\u003e\n     \u003cul\u003e   \n     \u003cli\u003e\n        \u003cimg src=\"https://skillicons.dev/icons?i=react\"/\u003e\n        \u003ca href=\"https://reactjs.org\"\u003eReact.js\u003c/a\u003e\n     \u003c/li\u003e\n     \u003cli\u003e\n        \u003cimg src=\"https://skillicons.dev/icons?i=js\"/\u003e\n        \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript\"\u003eJavaScript\u003c/a\u003e\n     \u003c/li\u003e\n     \u003cli\u003e\n        \u003cimg src=\"https://skillicons.dev/icons?i=ts\"/\u003e\n        \u003ca href=\"https://www.typescriptlang.org/\"\u003eTypeScript\u003c/a\u003e\n     \u003c/li\u003e\n      \u003cli\u003e\n       \u003cimg src=\"./public/images/eslint.png\" width=\"50\"/\u003e\n       \u003ca href=\"https://eslint.org\"\u003eEslint\u003c/a\u003e\n     \u003c/li\u003e\n      \u003cli\u003e\n        \u003cimg src=\"https://skillicons.dev/icons?i=tailwindcss\"/\u003e\n        \u003ca href=\"https://tailwindcss.com\"\u003eTailwind CSS\u003c/a\u003e\n     \u003c/li\u003e\n      \u003cli\u003e\n       \u003cimg src=\"https://skillicons.dev/icons?i=nodejs\"/\u003e\n       \u003ca href=\"https://nodejs.org/en\"\u003eNodeJS\u003c/a\u003e\n     \u003c/li\u003e\n\u003c/div\u003e\n\n\u003cdiv\u003e\n       \u003ch2\u003eServer side\u003c/h2\u003e\n  \u003cul\u003e\n       \u003cli\u003e\n          \u003cimg src=\"https://skillicons.dev/icons?i=nextjs\"/\u003e\n          \u003ca href=\"https://nextjs.org/\"\u003eNext.js\u003c/a\u003e\n       \u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/div\u003e\n\n\u003cdiv\u003e\n    \u003ch2\u003eDatabase\u003c/h2\u003e\n    \u003cul\u003e\n      \u003cli\u003e\n         \u003cimg src=\"https://skillicons.dev/icons?i=mongodb\"/\u003e\n         \u003ca href=\"https://www.mongodb.com/es\"\u003eMongoDB\u003c/a\u003e\n     \u003c/li\u003e\n      \u003cli\u003e  \n          \u003cimg src=\"https://skillicons.dev/icons?i=express\"/\u003e  \n          \u003ca href=\"https://expressjs.com/es/\"\u003eExpress\u003c/a\u003e\n      \u003c/li\u003e\n    \u003c/ul\u003e\n\u003c/div\u003e\n\n# Getting Started \n\u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n# or\nbun dev\n```\n\n\u003e Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\n\u003e You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.\n\n\u003e This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.\n\n# Learn More\n\n\u003e To 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\n\u003e You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!\n\n\u003e Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.\n\n# Kanban board \u003ca name=\"kanban-board\"\u003e\u003c/a\u003e\n - [Kanban board Project link](https://github.com/users/maximoortelli/projects/9)\n\n# Complete State of Kanban board\n  \u003cimg src=\"./public/images/kanban1.png\" /\u003e\n  \u003cimg src=\"./public/images/kanban2.png\" /\u003e\n  \u003cimg src=\"./public/images/kanban3.png\" /\u003e\n  \u003cimg src=\"./public/images/kanban4.png\" /\u003e\n  \u003cimg src=\"./public/images/kanban5.png\" /\u003e\n  \u003cimg src=\"./public/images/kanban6.png\" /\u003e\n  \u003cimg src=\"./public/images/kanban7.png\" /\u003e\n\n# 👥 Authors \n\u003ca name=\"author\"\u003e\u003c/a\u003e\n\n👤 **Maximo Ortelli**\n\n- 💻GitHub: [@Maximo Ortelli](https://github.com/maximoortelli)\n- 💻LinkedIn: [Maximo Ortelli](https://www.linkedin.com/in/maximo-ortelli-rueda/)\n\n# 🔭 Future Features \n\u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [x] Tailwind design\n- [x] Tailwind animations and effects\n- [x] Full responsiveness\n- [x] Credential authentication\n- [x] Google authentication\n- [x] Github authentication\n- [x] Image upload using Cloudinary CDN\n- [x] Client form validation and handling using react-hook-form\n- [x] Server error handling using react-toast\n- [x] Calendars with react-date-range\n- [x] Page loading state\n- [x] Page empty state\n- [x] Booking / Reservation system\n- [x] Guest reservation cancellation\n- [x] Owner reservation cancellation\n- [x] Creation and deletion of properties\n- [x] Pricing calculation\n- [x] 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- [x] Favorites system\n- [x] 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- [x] How to write POST and DELETE routes in route handlers (app/api)\n- [x] How to fetch data in server react components by directly accessing database (WITHOUT API! like Magic!)\n- [x] How to handle files like error.tsx and loading.tsx which are new Next 13 templating files to unify loading and error handling\n- [x] How to handle relations between Server and Child components!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/maximoortelli/Full-Stack-Rental/issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nIf you like this project please give it a star 😁🌟✨\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n\nWe thank to [Airbnb](https://www.airbnb.com.ar/) for the design.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](./LICENSE) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximoortelli%2Ffull-stack-rental","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaximoortelli%2Ffull-stack-rental","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximoortelli%2Ffull-stack-rental/lists"}