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 …