Miguel Orozco

Giphierto Android App

10 May 2021

alt_text

Architecture and Key Libraries

The app is built using a modern and robust architecture called MVVM (Model-View-ViewModel). This architectural pattern helps keep the codebase organized, maintainable, and testable by separating the application’s logic into three interconnected components:

MVVM

  • Model: Represents the data and business logic (e.g., Model).
  • View: The user interface (e.g., TrendingFragment).
  • ViewModel: Acts as a bridge between the Model and the View, providing data to the View and handling user input

Android libraries:

  • Retrofit: A type-safe HTTP client for Android and Java, used to fetch gift listings and sync user data with the backend.

  • RxJava: Handles asynchronous work — network calls, database access, and user interaction events — with a reactive, event-driven approach.

  • Glide: Loads and caches gift images efficiently, keeping memory usage low and scrolling smooth.