Find the right room, not just an available one.
A full-stack rental platform that uses Google Gemini AI to evaluate property compatibility based on user preferences.
Built with React • Node.js • Express.js • MySQL • Google Gemini AI
- 🚀 Frontend: https://nestmatch-ai-rental.netlify.app
- ⚙️ Backend API: https://nestmatch-gxfn.onrender.com
- 💻 GitHub: https://github.com/Vanshikamishra395/NestMatch
NestMatch is an AI-powered rental and flatmate finder that helps users discover properties based on compatibility rather than availability alone. Using Google Gemini AI, the platform analyzes user preferences and listing details to generate an intelligent compatibility score along with a summary, advantages, and considerations.
- User Registration & Login
- JWT Authentication
- Protected Routes
- Create Listings
- Edit Listings
- Delete Listings
- View Listing Details
- Browse Listings
- Search by Location
- Responsive UI
- Detailed Property Pages
- Google Gemini AI Integration
- Compatibility Score
- Match Summary
- Pros & Cons
- Personalized Recommendation
- Browse Properties
- View AI Compatibility
- Show Interest
- Manage Listings
- View Interested Tenants
- Update Listings
| Category | Technology |
|---|---|
| Frontend | React, JavaScript, HTML5, CSS3 |
| Backend | Node.js, Express.js |
| Database | MySQL (Aiven Cloud) |
| AI | Google Gemini AI |
| Authentication | JWT |
| Deployment | Netlify & Render |
| Version Control | Git & GitHub |
React Frontend
│
REST API
│
Node.js + Express
│ │
MySQL Gemini AI
│ │
└────► Compatibility Result
NestMatch/
├── frontend/
├── backend/
│ ├── routes/
│ ├── middleware/
│ ├── controllers/
│ ├── db.js
│ ├── server.js
│ ├── .env.example
│ └── package.json
├── screenshots/
├── README.md
└── .gitignore
git clone https://github.com/Vanshikamishra395/NestMatch.git
cd NestMatchcd backend
npm install
npm startcd frontend
npm install
npm run devCreate backend/.env
PORT=5000
DB_HOST=your_db_host
DB_PORT=your_db_port
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=your_db_name
JWT_SECRET=your_jwt_secret
GEMINI_API_KEY=your_gemini_api_keyNever commit
.envto GitHub.
Tables:
- users
- listings
- interests
| Endpoint | Description |
|---|---|
| POST /api/auth/register | Register User |
| POST /api/auth/login | Login |
| GET /api/listings | Fetch All Listings |
| GET /api/listings/:id | Fetch Listing Details |
| POST /api/listings | Create Listing |
| POST /api/ai/compatibility | Generate AI Match |
| POST /api/interests | Show Interest |
The AI compares:
- Preferred Location
- Budget
- Room Type
- Amenities
Returns:
- Compatibility Score
- Summary
- Pros
- Cons
Example response:
{
"score":92,
"summary":"Excellent Match",
"pros":["Budget matches","Location matches"],
"cons":["Move-in date is slightly later"]
}| Service | Platform |
|---|---|
| Frontend | Netlify |
| Backend | Render |
| Database | Aiven MySQL |
- React
- React Router DOM
- Lucide React
- React Hot Toast
- Express
- mysql2
- bcrypt
- jsonwebtoken
- cors
- dotenv
- @google/generative-ai
- Real-time Chat
- Wishlist
- Ratings & Reviews
- Google Maps
- Notifications
- AI Roommate Matching
- Online Payments
- ✅ Authentication
- ✅ Property Management
- ✅ AI Compatibility
- ✅ MySQL Database
- ✅ Cloud Database
- ✅ Render Deployment
- ✅ Netlify Deployment
- ✅ Responsive UI
- ✅ README Documentation
Vanshika Mishra
B.Tech -- Computer Science & Engineering (IoT)
Pranveer Singh Institute of Technology, Kanpur
- GitHub: https://github.com/Vanshikamishra395
- LinkedIn: https://www.linkedin.com/in/vanshika-mishra03/
Built using React, Node.js, Express.js, MySQL, Google Gemini AI, Aiven, Render and Netlify.
This project is intended for educational, learning, and placement purposes.