Skip to content
This repository has been archived by the owner on Mar 7, 2020. It is now read-only.

Chesire/Malime

Repository files navigation

Malime

All ongoing work was being done on a v2 branch, this has since has been moved to a new repo at Nekome

Build Status codebeat badge

Malime is an open source Android application to track your Anime & Manga progress, through the use of Kitsu.io. Download from Google Play

Features

Features include:

  • Track Anime and Manga series progress
  • Change your series state
  • Add new series to your lists
  • Quick access to your lists with minimal navigation
  • Kitsu and MyAnimeList* support

Note: MyAnimeList currently has a broken API, so it has been disabled and not actively developed in the application.

Development setup

Clone the project down and run it from Android studio, all dependencies will be handled by gradle.
If there is an issue with the google-services.json missing, then a dummy one will need to be provided in the directory for whichever flavour is being built app/src/debug or app/src/release.

Lint

All code should be run through ktlint to keep a consistent style throughout the code base. All issues must be fixed.
To run ktlint:

./gradlew ktlint

Static Analysis

All code should be run through detekt to minimize any style issues or potential bugs.
To run detekt:

./gradlew detekt

Any issues that are purposely not fixed in detekt should be suppressed using the @Suppress("") annotation.
If any items raised by detekt conflict with ktlint, the ktlint rules should be followed.

Leaks

Running the application in debug will add a second application on the Android device labeled LeakCanary, this is to detect any leaks that occur in the application.
In order to get leak data LeakCanary should be provided with storage access.

Tests

All viewmodels should be tested as throughly as possible.
All other areas should be tested as much as possible, but currently are lacking tests...

To run tests:

./gradlew test

To run the UI tests:

./gradlew connectedDebugAndroidTest

Why

There are already some really great Android tracking apps for Anime tracking portals, so why make another one?
Originally this was a testing area to mess around with a bunch of Kotlin tools and mess around with the MyAnimeList API, but after a while it made sense to just make it into a proper application.