Marvel API

Character listing and information using the Marvel API
View on GitHub

Project Overview

Marvel API is an application developed in Kotlin language for Android that consumes the Marvel API for the specific purpose of studies.

The app basically has a character listing screen with a search option and a screen to display details, comics, events and series of the selected character.

The defined architecture follows recommendations and principles from the official Android documentation and is based on the structure as shown in the image below:

Architecture & Technologies

MVVM architecture with ViewModel for repository and UI interaction
Data layer using repository + data sources
Coroutines for asynchronous programming and managing long tasks
HTTP client and API connection configuration with Retrofit
Dependency Injection with Dagger Hilt
Loading and caching images with Glide
Storing API results in local database with Room
Manually implemented result paging engine
Creation of generic auxiliary classes in order to avoid code repetitions (DRY code principles)
Basic unit tests with JUnit4

Tags
Kotlin MVVM LiveData Coroutines Repository Pattern Retrofit Dagger Hilt Glide Room JUnit4