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.
