A React + Vite real-estate SPA — property listings, detail pages, protected user accounts, and social login, hosted on Firebase. "Providing reliable land since 1999" is the pitch on the page; the interesting bit is that the auth, routing, and property queries are all wired up against a live Firebase back-end from the client.
Haven is a small real-estate directory: a home page with a hero + property cards, a per-property detail page, and a full user-account flow so people can log in with email, Google, or GitHub. Registered users get a profile they can edit, and there's a newsletter signup + customer-care and copyright routes as flat content pages.
Every route below is defined in the bundle:
Cards on the landing list properties with location, price, status (apartment / villa), and a "View Property" call-to-action.
Each /property/:id route pulls
location, price, facilities, and "Additional
Info:" for a single listing.
Email/password with Firebase Auth, plus
one-tap Google and GitHub sign-in. Session
survives reload via
onAuthStateChanged.
/profile and
/profile-Edit guard against
unauthenticated access and redirect through
login using
useNavigate + a context.
Change your display name and photo URL —
writes go through Firebase Auth's
updateProfile.
A dedicated route for newsletter subscription, plus a subscribe strip on the landing.
AOS drives scroll-triggered fade/slide entrances; Swiper handles the marketing carousels on the hero.
Google reCAPTCHA is loaded on the register flow to blunt automated signups.
Everything in the "verified" set is provable — either the file name matches the framework's convention, or the library name appears in the built JS bundle.
createBrowserRouter, Outlet, useLoaderData)
Vite
Tailwind CSS
Firebase Auth
Firestore
AOS (scroll animations)
Swiper
reCAPTCHA
Firebase Hosting
The demo is still live on Firebase — everything on this page is one click away.