AniWave is an anime app used to view and search anime. The app is entirely built using Kotlin and Jetpack Compose.
IDE: Android Studio Giraffe | 2022.3.1+
Build System: Gradle
The app has debug
& release
build variants. debug
is used for normal development workflows
while release
has R8 turned on. Use the release variant for a real world user journey.
You can find the latest apk in the GitHub Releases section. The latest release can be found here
You can run the app on Appetize.io
- The app loads the top twenty five anime from Jikan API, an unofficial MyAnimeList API
- The list of anime is displayed in a Compose LazyVerticalGrid
- A user can search for an anime by uploading a screenshot file. Returns the anime title & episode
AniWave follows Google's recommended guide to app architecture. It is divided into two parts:
- Data Layer - Repository, Data Sources
- UI Layer - Composable Screens, State holders (ViewModel)
The app UI is built with Jetpack Compose Material3 components.
To apply Kotlin style guidance and fix code formatting issues run Static Checks
.
To run the instrumented tests, change the run configuration to Aniwave Instrumented Tests