MutuneRent Pro β Mombasaβs smarter property management
# MutuneRent Pro π’
> Full-stack property management platform for Mutune Estate Agency, Mombasa, Kenya.
> Designed to scale from 600+ to 2,000+ properties.
---
## Architecture
```mermaid
flowchart TB
subgraph Client["Frontend β Vercel"]
SPA["React 18 + Vite SPA"]
end
subgraph Server["Backend β Render (Frankfurt)"]
API["Express 4 API 29 Route Modules"]
end
subgraph Data["Database"]
DB[(MongoDB Atlas)]
end
SPA -->|HTTPS| API
API --> DB
subgraph External["External Services"]
MPESA["Safaricom M-Pesa Daraja API"]
AT["Africa's Talking SMS + USSD"]
KRA["KRA eTIMS Tax Invoices"]
KYANDA["Kyanda KPLC / Water"]
R2["Cloudflare R2 Object Storage"]
CLERK["Clerk Auth & SSO"]
RESEND["Resend Email"]
KIMI["Kimi / Moonshot AI Chat"]
SENTRY["Sentry Error Tracking"]
end
API --> MPESA
API --> AT
API --> KRA
API --> KYANDA
API --> R2
API --> CLERK
API --> RESEND
API --> KIMI
API --> SENTRY
SPA --> CLERK
```
---
## Live URLs
| Service | URL |
|---------|-----|
| **Frontend** |
mutune-alpha.vercel.app |
| **Backend API** |
mutunerent-api.onrender.com |
| **API Documentation** |
mutunerent-api.onrender.com |
| **Health Check** |
mutunerent-api.onrender.com |
---
## Repository Structure
```
mutune/
βββ backend/
β βββ config/ # Database connection, Swagger, index sync
β βββ cron/ # Scheduled jobs (late fees, lease cleanup, rent accrual)
β βββ middleware/ # Auth (Clerk JWT), RBAC, sanitize, security
β βββ models/ # 24 Mongoose schemas
β βββ routes/ # 29 REST API route modules
β βββ services/ # External integrations (M-Pesa, SMS, eTIMS, AI, etc.)
β βββ tests/ # 14 test suites (Jest + Supertest)
β βββ utils/ # Logger, R2 uploads, encryption, pagination
β βββ server.js # Express entry point
β βββ .env.example # Backend env template
β
βββ frontend/
β βββ public/assets/ # Images, icons
β βββ src/
β β βββ compon β¦