PHP/MySQL property management system for Kenyan landlords — rentals, Airbnb-style bookings, rent tracking, and maintenance in one dashboard.
# Property Management System (PMS)
A role-based property, tenant, and short-term booking management system built with PHP, PDO/MySQL, Tailwind CSS, Font Awesome, and GSAP. Designed for Kenyan landlords managing long-term rentals and short-term (Airbnb-style) stays.
See Plan.md for the original requirements catalogue and status.md for the living project health report — objective-by-objective status, known issues, and a running log of fixes and testing results.
## Features
- **Public landing page** with a real, database-driven stats bar (live listing/unit/county/host counts), featured listings, a "how it works" walkthrough, core modules, benefits, testimonials, an FAQ accordion, and a closing call to action — all with GSAP scroll-reveal animation.
- **Public listings**: every property, image, amenity, and availability figure shown to visitors comes straight from the database — there is no hard-coded or placeholder listing content anywhere in the app.
- **Authentication**: registration with role selection, login, logout, and a forgot-password simulation flow. Passwords are hashed with `password_hash()`/`password_verify()`, failed logins are throttled (5 attempts → 60 second lockout), and every protected route enforces role-based access control (RBAC).
- **Role dashboards** for Landlord/Admin, Tenant, and Caretaker with stats, quick actions, and recent activity scoped to what each role actually owns or is assigned to.
- **Properties & units**: CRUD with cover image upload, a full multi-image gallery manager (add/delete/set primary), an amenities checkbox editor, search/filter, activation/deactivation, and auto-generated starter units.
- **Tenants & leases**: assignment to properties/units, lease dates, status changes, search/filter. New tenant accounts get a securely auto-generated password rather than a shared default.
- **Rent tracking**: payment recording, arrears estimation, monthly totals, CSV export, and print-friendly views.
- **Maintenance**: tenant-submitte …