A multi-tenant property management SaaS for the Tanzanian rental and business-frame market. One codebase serves multiple clients (landlord / property-management companies), each accessing their own workspace via path-based tenancy under a single subdomain.
Terminology: "Client" = the SaaS customer (the landlord company). "Renter" / "mpangaji" = the person renting a unit from that client. The word "tenant" is overloaded in this domain — we standardize on Client/Renter to avoid confusion. See
CLAUDE.md > Naming glossary.
Status: In development. See
docs/IMPLEMENTATION_PLAN.mdfor current phase and what's next.
| Layer | Choice |
|---|---|
| Backend | Laravel 12 LTS + PHP 8.4 |
| Operator + super admin panel | Filament v4 |
| Marketing / renter portal / tenant CMS | Livewire 3 + Flux UI |
| Database | PostgreSQL 16 |
| Cache / queues / sessions | Redis 7 |
| Multi-tenancy | stancl/tenancy — single-DB, path-based |
| File storage | Backblaze B2 |
| Reverse proxy (prod) | Caddy + Cloudflare |
| Mobile (v2) | Flutter (Provider) |
CLAUDE.md— project rules, conventions, do/don't listdocs/IMPLEMENTATION_PLAN.md— phase-by-phase build plandocs/DATA_MODEL.md— full schema referencedocs/SETUP.md— local development setup (Ubuntu)
main— production, protected. Only the repo owner merges into it fromdevelop.develop— integration branch. All feature work merges here first.- Feature branches:
feat/<name>,fix/<name>,chore/<name>,refactor/<name>,docs/<name>.
All PRs target develop. Owner promotes develop → main when ready for release.
Proprietary. See LICENSE.