TIMELINE
APR – MAY 2024
PROJECT TYPE
Academic Project
ROLE
Team Member
STACK
PHP • MySQL
DATABASE
MySQL
ARCHITECTURE
3-Tier Web App
Project Overview
A PHP and MySQL web platform where visitors browse and filter property listings, registered users post and manage their own listings, and an admin panel controls the whole catalogue. Built as a three-member academic project on an open-source PHP codebase, it covers the full listing workflow from registration to admin moderation, backed by a eight-table relational database.
Key highlights
- Public site with property grid, filters by type, sale or rent and city, state-wise browsing, and a detail page for every listing.
- User accounts for three roles (user, agent, builder) with registration, login and profile pages.
- Logged-in users can post, update and delete their own properties with image uploads and floor plans.
- Admin panel with a dashboard of live counts and CRUD screens for properties, users, agents, builders, cities, states, feedback and contact messages.
- Extras on the public side: instalment calculator, agent directory, contact form and a feedback form.
Problem Statement
Property details, enquiries and owner records are often kept in registers and spreadsheets. Buyers cannot search them, and owners cannot update a listing without going through someone else. Admins also struggle to keep listings current, because there is no single place to see users, properties and messages together.
Solution Approach
The system puts listings, users and enquiries in one MySQL database behind a PHP web app. Visitors search and filter listings on their own. Registered users add and edit their own properties. Admins get a separate panel with a live dashboard and edit screens for every table, so the catalogue stays accurate without touching the database directly.
Architecture Overview
A classic three-tier PHP application running on XAMPP. Bootstrap pages render in the browser, PHP scripts handle each request, and a MySQL database named realestatephp stores the data.
- Presentation layer of Bootstrap, jQuery and Font Awesome pages served by Apache.
- One PHP script per page, sharing a single config.php for the MySQL connection.
- Session variables separate site users (uid) from admins (auser) with their own login pages.
- Eight tables: user, property, admin, state, city, about, contact and feedback.
- Property images and floor plans saved to the admin/property upload folder.
- A separate admin folder with its own header, dashboard and CRUD pages.
Tech Stack
Frontend
- HTML
- CSS
- JavaScript
Backend & Database
- PHP
- MySQL
Environment
- XAMPP
Key Features
- Registration with profile photo and a choice of user, agent or builder role.
- Login for users and a separate login for administrators.
- Property grid with filters for type, sale or rent, and city.
- State-wise property browsing from the home page.
- Property detail page with images, floor plans, features and owner contact.
- Users can add, update and delete their own listings.
- Image upload for up to five photos and three plan images per property.
- Instalment calculator on each property page.
- Agent directory and contact form that stores messages.
- Feedback form that admins review before it is shown.
- Admin dashboard with live counts of users, agents, builders and properties by type.
- Admin CRUD for properties, users, cities, states and site content.
System Modules
- Authentication
- Property Listings
- Search and Filters
- User Profiles
- Agents and Builders
- Admin Dashboard
- Contact and Feedback
- Location Management
Lessons Learned
Retrospective
This project taught me how a full listing workflow fits together: a relational schema, session based login, file uploads and an admin panel on the same database. Working in a team of three, I saw how much a shared schema matters before anyone writes pages. Reading and testing the code also showed me where it falls short. Queries are built by joining raw input into SQL, passwords are hashed with unsalted SHA-1, and the database login is hard-coded. I would use prepared statements, password_hash and environment based config next time.
System Screenshots & Wireframes
01. Home Page









