RentMatch β Property matching frontend using linear programming optimization for Nigeria's rental market. Built with Next.js and React.
# RentMatch - Linear Programming Optimization for Property Matching
A final year project implementing a linear programming optimization model for tenant-property matching in Nigeria's rental market.
## π― Project Overview
This system uses mathematical optimization (linear programming) to efficiently match tenants with properties based on multiple criteria including budget, location, amenities, and preferences.
## ποΈ Architecture
### Frontend Structure
\`\`\`
src/
βββ components/
β βββ ui/ # Reusable UI components
β βββ layout/ # Layout components (Header, Footer)
β βββ common/ # Common components (EmptyState, etc.)
β βββ properties/ # Property-specific components
βββ pages/ # Main page components
βββ hooks/ # Custom React hooks
βββ lib/ # Utilities and API functions
βββ app/ # Next.js app directory
\`\`\`
### Backend Integration Points
The frontend is designed to connect to your backend through the following API endpoints:
#### Authentication Endpoints
- `POST /api/auth/login` - User login
- `POST /api/auth/register` - User registration
- `POST /api/auth/logout` - User logout
#### Properties Endpoints
- `GET /api/properties` - Get all properties with filters
- `GET /api/properties/:id` - Get specific property
- `POST /api/properties` - Create new property
- `PUT /api/properties/:id` - Update property
- `DELETE /api/properties/:id` - Delete property
#### Linear Programming Optimization Endpoints
- `POST /api/optimization/linear-programming` - Run optimization algorithm
- `GET /api/optimization/matches/:tenantId` - Get matches for tenant
- `GET /api/optimization/stats` - Get optimization statistics
#### Communication Endpoints
- `POST /api/communication/send-message` - Send message between users
- `POST /api/communication/schedule-viewing` - Schedule property viewing
## π§ Setup Instructions
1. **Install Dependencies**
\`\`\`bash
n β¦