Android App displays data from Punk API, an open-source API that displays detailed information on delicious craft-beer.
I worked on this app to implement androids recommended architecture for building android mobile apps. This project makes use of the MVVM architecture model with androids JETPACK libraries such as ACTIVITY, APPCOMPACT, DATABINDING, FRAGMENT, LIFECYCLE, NAVIGATION, ROOM, and PAGING. There are alot more JETPACK libraries which are not in use in this project mostly because of the project requirements but you can find all here https://developer.android.com/jetpack
- Android Studio 3.0 and above.
- Android buildToolsVersion 29.0.3 and above.
- Android minSdkVersion 19.
- Kotlin version 1.3.*.
- Implementation of android MVVM Architecture Pattern.
- Data single source of truth implementation and google suggested practice for code separation using Repository Architecture.
- Functional programming implementation by observing to data changes with LiveData.
- Using ViewModel to serve as the bridge between datasource and UI. ViewModel implementation also makes sure data is not lost during configurations changes as its lifecycle aware.
- Data persistance with Room.
- Managing of asynchronous calls using Kotlin Coroutines.
- Display list with RecycleView and data binding with Paging Library.
- Android UI tests with Espresso
- Testing Room DAO classes
- Local Unit tests with Mokito and Robolectric
Splash Screen | List Screen with paging | Details Screen |