Important
Required Setup: Connect Your Database
This application requires a connection to a MongoDB database to run. You must create a .env.local file with your database connection string.
- Create a
.env.localfile in the root of your project. - Copy the contents from the
.env.examplefile into your new.env.localfile. - Fill in the
MONGODB_URIandNEXTAUTH_SECRETvalues in.env.local.
Your app will not start until this is done. This is a one-time setup.
Welcome to RentNest, a modern, full-stack property rental web application. This platform allows users to browse, filter, and save property listings, while providing landlords with a dedicated dashboard to manage their properties.
- Advanced Property Search: Filter listings by city, price range, and property type.
- Interactive UI: A clean, responsive design with a glassmorphism aesthetic and a dark mode toggle.
- User Accounts: Guests can browse, while registered users can save favorites and contact landlords.
- Landlord Dashboard: A protected area for landlords to add, edit, and manage their rental properties.
- Favorites System: Users can save their favorite properties for easy access later.
- Booking Calendar: Users can request property viewings using an interactive calendar.
- Similar Listings: Discover more properties with the "similar listings" feature on each property page.
- Contact Landlords: Built-in contact form and a WhatsApp button for instant communication.
- Framework: Next.js (App Router)
- Styling: Tailwind CSS & ShadCN
- Database: MongoDB (with Mongoose)
- Authentication: NextAuth.js (role-based)
- Deployment: Vercel
- Node.js (v18 or later)
- npm, yarn, or pnpm
- MongoDB database
-
Clone the repository:
git clone https://github.com/your-username/rentnest.git cd rentnest -
Install dependencies:
npm install
-
Set up environment variables: Create a
.env.localfile in the root of the project and copy the contents of.env.example. Fill in the required values.cp .env.example .env.local
-
Run the development server:
npm run dev
The application will be available at
http://localhost:3000.
To populate the database with dummy data for testing, you can run the seed script:
# This is a placeholder for a future seed script
# npm run seed- Guest: Can browse listings and use search/filter functionalities.
- User: Can do everything a guest can, plus save favorites, book visits, and contact landlords.
- Landlord: Has a dashboard to manage their own properties and view incoming messages.
This application is configured for easy deployment on Vercel.
- Push your code to a GitHub repository.
- Import the repository on Vercel.
- Add the environment variables from your
.env.localfile to the Vercel project settings. - Deploy!
[Link to your deployed Vercel app will go here]