The problem
Prospective tenants had no single, structured place to search verified rental listings. Informal channels made it hard to trust what was actually available. The project set out to build a proper system: listings, search, and a backend that could hold up under real data.
Decisions that mattered
Normalized MySQL schema from day one
Rather than a flat, quick-and-dirty table structure, the data model was normalized early: listings, landlords, and tenant accounts as distinct, related entities. That way the system could grow without a rewrite.
REST API as a hard boundary
Client and server were split cleanly behind a REST API, rather than mixing server-rendered logic into the frontend, keeping the two sides independently testable and replaceable.
The outcome
Delivered as a complete, working full-stack system for the final project submission, covering listings, search, and account management end to end.