/KairosCrypto

Open Source cryptocurrency viewer for Android, written in Kotlin.

Primary LanguageKotlinOtherNOASSERTION

Kairos Crypto API License

Kairos - the right, critical, or opportune moment.

Open Source cryptocurrency viewer for Android, written in Kotlin. MVP architecture. Icon by Maxim Basinski @ Flat Icon.

Purpose

This project was mainly used as a playground outside work to validate architecture concepts, to learn working with new libraries and to explore various ideas & widgets. Currently the project is no longer under active development, as it achieved its initial purpose.

It is not published to the Google Play store, and there are no plans to publish it anytime soon.

Tech stack

The project is written fully in Kotlin and is structured in 3 layers: presentation, business & data. Each layer belongs to its own Gradle module.

The interactions between layers respects Bob C. Martin's dependency rule. Namely, "inner" layers know nothing about any of the outer layers (for instance, the data layer knows nothing about the business layer).

The presentation layer uses the MVP architecture. Presenters are persisted across configuration changes & are re-attached to the new view instance after a configuration change occurs.

Certain things have been left out intentionally (such as proper error handling).

Data

Retrofit is used to fetch cryptocurrency data from CoinMarketCap's professional API. Only free to use endpoints are used, but an API key is required. Once you obtain your API key, add it to local.properties:

coinMarketCapApiKey="<your key here>"

A read-to-use apk (for demo purposes) which uses a valid API-key can be found in the latest release.

Cryptocurrency icons are fetched via Glide from here.

Tools:

The following tools/tech is used in KairosCrypto:

Contributing

Feel free to contribute with ideas, bug reports or even features.