Welcome to Homestead Horizon, the ultimate vacation rental platform designed to make your travel dreams a reality. Our user-friendly web application serves as a portal for hosts to manage their properties and for guests to discover and book their perfect getaways. With a seamless one-to-many relationship between hosts and properties, intuitive guest profile management, and a smooth many-to-many booking system, we ensure a hassle-free experience for everyone. Explore our property listings with powerful search and filtering options, and enjoy the convenience of managing bookings with just a few clicks. Join us on this journey, and let Homestead Horizon be your gateway to memorable vacations.
To deploy this project on your local machine, run following commands root folders.
-
Cloning the repository
git clone https://github.com/KanadeAditya/Homestead-Horizon
-
Install packages
npm install
-
Setup .env file
DATABASE_URL= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GITHUB_ID= GITHUB_SECRET= NEXTAUTH_SECRET=
-
Setup Prisma
npx prisma db push
-
Start the app
npm run dev
- Implemented credential authentication with Google and GitHub.
- Built image upload functionality using Cloudinary CDN.
- Validated and handled client forms using react-hook-form.
- Created a booking/reservation system.
- Enabled personalized management of reservations and properties for hosts and guests.
- Performed CRUD operations for guest reservation cancellation, owner reservation cancellation, property creation and deletion, and favorite properties updation.
- Developed an advanced search algorithm by category, date range, map location, number of guests, rooms, and bathrooms.
- Utilized TypeScript for enhanced type-checking and developer productivity.
- Leveraged Next.js for server-side rendering, automatic code splitting, and simplified routing, which improved performance and SEO.
- Designed the UI with Tailwind CSS, including animations and effects.
- Ensured full responsiveness for different devices.
Technologies used in the project:
- Typescript
- Next.js
- Mongo DB
- React.js
- Tailwind.css
- Prisma