Skip to content

Latest commit

 

History

History
61 lines (36 loc) · 1.73 KB

README.md

File metadata and controls

61 lines (36 loc) · 1.73 KB

AniWave

AniWave

AniWave is an anime app used to view and search anime. The app is entirely built using Kotlin and Jetpack Compose.

Running the Project

IDE: Android Studio Giraffe | 2022.3.1+

Build System: Gradle

Build

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.

Releases

GitHub Releases

You can find the latest apk in the GitHub Releases section. The latest release can be found here

Appetize

You can run the app on Appetize.io

Features

  1. The app loads the top twenty five anime from Jikan API, an unofficial MyAnimeList API
  2. The list of anime is displayed in a Compose LazyVerticalGrid
  3. A user can search for an anime by uploading a screenshot file. Returns the anime title & episode

Architecture

AniWave follows Google's recommended guide to app architecture. It is divided into two parts:

  1. Data Layer - Repository, Data Sources
  2. UI Layer - Composable Screens, State holders (ViewModel)

UI

The app UI is built with Jetpack Compose Material3 components.

Static Checks

To apply Kotlin style guidance and fix code formatting issues run Static Checks.

Testing

To run the instrumented tests, change the run configuration to Aniwave Instrumented Tests