Skip to content

An iOS app that allows users to search, view, and save real estate listings using Zillow’s REST API and Core Data for persistence. Built with UIKit and programmatic Auto Layout.

Notifications You must be signed in to change notification settings

asperez26/RealEstateFinderApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🏡 Real Estate Finder App (UIKit + Core Data)

An iOS application that allows users to search, view, and save real estate listings using Zillow’s REST API and Core Data for persistence.
Built entirely with UIKit and programmatic Auto Layout, following the MVC architecture.
Developed as part of an academic project at Seneca Polytechnic.

⚠️ Note: The app originally integrated Zillow’s RapidAPI for live property data.
As of 2025, the public API endpoint is deprecated, so real-time search is no longer active.
However, the project fully demonstrates API request handling, JSON decoding, and Core Data integration.


🚀 Features

  • 🔍 Property Search — Browse real estate listings with filters for location, price, beds, and baths
  • 🏠 Property Details — View images, prices, and descriptions of individual listings
  • ❤️ Favorites Management — Save and view favorite properties using Core Data persistence
  • 🔑 User Authentication — Register, log in, and manage accounts locally
  • 🧭 Smooth Navigation — Custom tab bar with login, search, favorites, and logout flows
  • 🧱 Programmatic UI — Built fully with Auto Layout in code (no storyboards)

🧩 Architecture Overview

The app follows the MVC (Model–View–Controller) pattern for clarity and scalability.

Models

  • PropertyModel.swift — Defines the structure for API-decoded property data
  • Core Data Entities:
    • User and FavoriteProperty (with relationships and attributes)
    • Persistence.swift handles the Core Data stack

Views

  • SearchPropertyCell.swift — Displays search results dynamically with async image loading
  • FavoritesTableViewCell.swift — Shows saved favorites in a card-like layout

ViewControllers

  • SearchZillowViewController.swift — Handles API requests and search logic
  • FavoritesViewController.swift — Displays and manages saved Core Data favorites
  • LoginViewController.swift / SignUpViewController.swift — Handles user authentication
  • MainTabBarController.swift / LogoutPlaceholderViewController.swift — Manages main navigation flow
  • WelcomeViewController.swift — Initial screen for first-time users

🧠 Key Technical Highlights

  • Frameworks: UIKit, Core Data, Foundation
  • Architecture: MVC
  • Networking: REST API integration (Zillow’s RapidAPI, using URLSession)
  • Persistence: Core Data (CRUD operations and entity relationships)
  • UI: Fully programmatic layout with Auto Layout constraints
  • Authentication: Core Data–based local login and registration
  • Error Handling: Alerts, predicates, and optional unwrapping for safe logic execution

🧰 Technologies Used

Category Tools / Frameworks
Language Swift 5
Frameworks UIKit, Core Data, Foundation
Architecture MVC
API Integration Zillow’s RapidAPI (REST)
Persistence Core Data
UI Layout Programmatic Auto Layout
Authentication Local (Core Data–based)

📸 App Preview

🔐 Authentication

Welcome Sign Up Log In
Welcome Screen Sign Up Log In

🏘️ Search Properties

Empty Search Search by City Filter Results
Search Screen Search Results Toronto Filter Applied

⭐ Favorites Management

Empty Favorites Add to Favorites Favorites List Remove Favorite
Empty Favorites Add to Favorites Favorites List Remove Favorite

🚪 Logout

Logout Confirmation
Logout

👩‍💻 Author

Andrea Selina Perez
📍 Seneca Polytechnic – Computer Programming (iOS & Data Structures focus)
📫 andreaselinaperez26@gmail.com
🌐 GitHub Profile


If you found this project interesting, feel free to star the repo or connect with me on GitHub!

About

An iOS app that allows users to search, view, and save real estate listings using Zillow’s REST API and Core Data for persistence. Built with UIKit and programmatic Auto Layout.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages