Welcome to RentEase! This is a cutting-edge web application designed for property owners to rent out their spaces to travelers seeking a cozy place to stay. Built with the latest technologies like Next.js 14, React, Tailwind CSS, Prisma, MongoDB, and NextAuth, RentEase offers a seamless and efficient experience for both property owners and travelers.
- 🔐 Authentication: Secure login system with Social Login support (Google).
- 🔍 Advanced Search & Filtering: Search based on date range, location, and property details (number of guests, rooms, and bathrooms).
- 🏖️ Category Filtering: Easily filter properties by category (Beach, Desert, Island, Lake, etc.).
- 📍 Location Selection: Interactive map component for selecting locations, with country autocomplete.
- 📷 Image Upload: Upload images effortlessly using Cloudinary CDN.
- ⚙️ Direct Server Actions: Efficient server-side operations with Route Handlers.
- ❤️ Favoriting: Save your favorite properties for easy access later.
- 📅 Reservation Functionality: Smooth booking experience with reservation management.
- 🚀 Server Components: Loading trips with server components for a faster, more dynamic experience.
- 🔄 Advanced Querying: Robust querying logic for fetching listings.
- ⚡ Loading & Error Pages: Custom loading and error pages for a polished user experience.
- 🌍 Deployed on Vercel: Fast and reliable deployment.
To start using RentEase, follow these steps:
1. Clone the repository:
git clone https://github.com/seyaendris/Rent-Ease.git
2. Set up environment variables: Create a .env file in the root directory and add the following variables:
DATABASE_URL=your-database-url
NEXTAUTH_SECRET=your-nextauth-secret
GITHUB_ID=your-github-id
GITHUB_SECRET=your-github-secret
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your-cloudinary-cloud-name
3. Install dependencies and run the project:
npm install
npm run dev
Now you're ready to explore RentEase and experience its full range of features! 🌟