A front-end web application for browsing, saving, and booking property viewings — built with vanilla HTML, CSS, and JavaScript. Realties simulates a luxury real estate platform for the Philippine market, letting users log in, explore listings, save favorites, and schedule property viewings or virtual tours.
Realties is a single-page application (SPA) that demonstrates a full front-end workflow for a real estate booking platform. After logging in with demo credentials, users land on a personalized dashboard showing key stats (available listings, bookings, saved properties). From there they can browse a searchable, filterable property catalog, view detailed listing information in a modal, and book an in-person viewing or virtual tour for an available date. All data — users, properties, and bookings — is loaded from a local data.json file and managed entirely in-browser using JavaScript state, with no backend server or database required.
- User Authentication — Login screen with demo credentials, including basic validation and error feedback.
- Dashboard Overview — At-a-glance stats (available listings, active bookings, saved properties, average sale price) plus featured properties and upcoming viewings.
- Property Listings — Responsive grid of property cards with images, price, type, and status (For Sale / For Rent).
- Search & Filter — Live search by title, address, or type, plus quick filter buttons (All, For Sale, For Rent, House & Lot, Penthouse, Villa, Loft & Studio).
- Property Detail Modal — Full property view with specs (beds, baths, sqm, floor, year built), description, features list, and listing agent contact info.
- Booking System — Select an available date and booking type (In-Person Viewing or Virtual Tour), with duplicate-booking prevention and toast notifications.
- Saved Properties (Wishlist) — Save/unsave properties for later, with a live count badge in the sidebar.
- My Bookings Page — View all scheduled bookings with status (Confirmed/Pending).
- Fallback Data Handling — If
data.jsonfails to load (e.g. opened directly as a file), the app falls back to inline sample data so it still works.
This is a static front-end project — no build tools, frameworks, or dependencies required.
- A modern web browser (Chrome, Edge, Firefox, etc.)
- (Recommended) A simple local web server, since the app fetches
data.jsonviafetch(), which some browsers block onfile://URLs.
-
Clone the repository
git clone https://github.com/<your-org-or-username>/<repo-name>.git cd <repo-name>
-
Run a local server (recommended)
Using Python:
python3 -m http.server 8000
Then open
http://localhost:8000in your browser.Using VS Code: install the Live Server extension and click "Go Live".
Alternatively, you can simply double-click
index.htmlto open it directly in your browser — the app includes fallback data in casedata.jsoncan't be fetched this way. -
Log in with demo credentials
- Email:
alex@demo.com - Password:
demo123
(A second demo account is also available:
marcus@demo.com/demo123) - Email:
- Efren Johannes Bucao
- John Christopher Remandaban
- Christian Palanca
- Timothy Ethan Alli
2025 - 2026
SYSTEM INTEGRATION ARCHITECTURE
- HTML5
- CSS3
- Vanilla JavaScript (ES6+)
- JSON (local data source, no backend/database)