A web-based student accommodation platform for Murang'a University of Technology, connecting students, landlords, verification agents, and an administrator.
Built with PHP 8 (PDO/MySQL), vanilla JS, and hand-written CSS — no framework required, runs on any standard XAMPP/LAMP stack.
- PHP 8.x with the
pdo_mysqlextension - MySQL 5.7+/MariaDB
- Apache (XAMPP, WAMP, or any LAMP stack)
- Copy the
EasyFind/folder into your server's web root (e.g.htdocs/for XAMPP). - Create the database and tables:
mysql -u root -p < database/easyfind.sql - Edit
includes/db.phpif your MySQL username/password differ from the defaults (root/ empty password). - Seed demo accounts (admin, landlord, agent, student) with working hashed passwords:
or visit
php database/seed.php
http://localhost/EasyFind/database/seed.phpin your browser. - Visit
http://localhost/EasyFind/index.php.
All demo accounts use the password Password123:
| Role | |
|---|---|
| Admin | admin@easyfind.mut |
| Landlord | john.kamau@example.com |
| Agent | mary.agent@easyfind.mut |
| Student | alice.student@example.com |
EasyFind/
├── index.php Homepage
├── login.php / register.php / logout.php
├── student/ Student dashboard, search, property view, reservations, profile
├── landlord/ Landlord dashboard, add/edit/delete property, reservations, analytics
├── agent/ Agent dashboard, verify/reject properties, reports
├── admin/ Admin dashboard, manage users/properties/reports
├── uploads/property_images/ Uploaded room photos
├── assets/css|js|images/ Stylesheet (maroon/green brand), placeholder image
├── includes/ db.php, auth.php, navbar.php, footer.php
└── database/ easyfind.sql (schema), seed.php (demo accounts)
- Students register instantly and can search/filter listings, view full property details, reserve a vacant room, view/cancel their reservations, and edit their profile.
- Landlords register but start with
status = pendingand must be approved by an admin before they can log in. Once active they can add properties (which start asPendingverification), upload photos, edit/delete listings, manage incoming reservations, and view simple analytics. - Verification Agents review pending properties, view photos/details, and verify or reject each one with written remarks (saved to
verification_reports). Verified listings get the green "Verified" badge shown across the site. - Admins approve/suspend landlord and other accounts, assign agents to properties, remove fake/rejected listings, and view platform-wide reports (listings by location/room type, reservation status breakdown, recent verification activity).
- Passwords are hashed with PHP's
password_hash()/password_verify(). - All queries use PDO prepared statements to prevent SQL injection.
- Image uploads are restricted to jpg/jpeg/png/webp and stored under
uploads/property_images/. - This is a working functional scaffold covering every module in the project proposal. Items listed under "Future Features" in the original proposal (Google Maps, M-PESA, WhatsApp contact, SMS/email alerts, AI recommendations, QR verification, PWA support) are intentionally left for a later phase.