In StarNet Voyager, you can explore the characters of Star Wars and movies performed by them. It is an Android client implementation of SWAPI API using MVVM and clean architecture and uses Room database as a single source of truth.
- Explore Star Wars Characters and their movies.
- Single Activity Architecture and uses Jetpack navigation to navigate through destination (fragments).
- Retrofit to do api calls and gson to parse response.
- Paging3 to load only required Characters and Movies.
- Room database to cache Characters and Movies data.
- Hilt for dependency injection.
This app follows MVVM architecture with Clean architecture, Uni Directional Flow (UDF) pattern and Single Activity architecture pattern.
:data:
- The data origin point.
|---:local:
- Handles data with a local database (Room).
|---:network:
- Handles remote APIs.
|---:repository:
- Decides from where and how the data should come (local or remote).:di:
- Hilt modules:domain:
- Central nervous system of the app containing the contract between UI and Data layer.:ui:
- All the Screens UI lies here in subpackages.
Kotlin: As the programming language.
Jetpack Navigation : Caption of the app which will take you to new areas ensuring safe delivery of your data.
Room : Rest room for the Jedi.
Hilt : Factory and supplier for the ingredients required to cook a feature.
Paging3: Make the app feel like reading a comic.
Retrofit: Gets the Star Warriors from stars to your world.
Coroutines: Mission Coordinator ensuring co-working.
Simple clone this app and open in Android Studio.