ReactFirebaseAuthenticationGoogle Maps API
House Marketplace
Full stack application using React to create real estate property listings for both rent and sale, in addition to special offers at a discounted price.
System Features
01.Explore Page
The main explore page features a slider with the 5 latest listings, alongside categories for places for rent and places for sale. Bottom navigation allows users to explore offers, view their profile, or redirect to the login page if not already authenticated.
02.Login and Register
The app uses Firebase Database and Authentication providers including native email/password and Google OAuth. In combination with Firebase Common Expression Language (CEL) rules, permissions are set allowing anyone to 'read' public listings, but only authorized users can create them, and only owners have permission to edit. The login and register systems also offer options to reset forgotten passwords via an email link.
03.User Profile Dashboard
Contains options to log out and create new listings. The personal details section displays the user's name and email with the option to update the username. The user listing section shows options for editing and deleting the listings created by that specific user.
04.Create, Edit and Delete Listings
The form shows two modes: Sell and Rent. Depending on the selected mode, the form dynamically updates fields specific to the listing category, such as specifying whether the price is monthly or a full-price 1-time deal. The edit page follows the same concept and is identical to the Create Listing page, instead updating the current database document via its existing listing ID.
05.Display Property Listing
Listings show an image slider with a maximum of 6 images, a share icon, property name, description, and address. It also integrates an interactive map pointing to the given longitude and latitude of the property address. An option to contact the landlord is displayed only if the listing does not belong to the current user.
06.Listing Categories: Rent & Sale
Dedicated pages for 'Rent' and 'Sale' explicitly show the active database listings filtered for each respective category.
07.Special Offers
The special offer page filters and displays every active property listing currently advertising a discounted price.
Technical Details
Main Features:
▹List properties for both Homes or Apartments.
▹List properties for rent and/or for sale.
▹Create discounts promoted as special offers.
▹Create, edit or delete listings with up to 6 images and seller contact information.
▹Fully Responsive Design.