Skip to content

othiagosouto/blockchain

Repository files navigation

BlockChain App

Codacy Badge Main Workflow BlockChainApp logo

An Android app that uses Blockchain Charts & Statistics API to experiment android libraries and different architectures.

Architecture

This app is being developed using MVVM with clean architecture concepts.

Tech stack

  • Koin for dependency injection
  • Java Platform Plugin to manage dependencies between modules.
  • MPAndroidChart as chart library
  • Github actions for CI
  • Jetpack libraries(ViewModel, Activity)
  • Coroutines + retrofit for http requests
  • Kotlinx.Serialization for JSON handling
  • Detekt & formatting(ktlint) for static analysis

Testing stack

  • Activity Scenario for unit and instrumented testing
  • robolectric for unit testing
  • Espresso assertions for UI testing
  • Screenshot Tests for Android for chart testing
  • MockWebServer for API and integration testing

CI

The CI machine run the following steps:

  1. detekt & formatting (ktlint)
  2. unit tests
  3. instrumented testing
  4. snapshot tests

Quick Start

How to run?

This project is being built using Android studio 4.1.3, so, I do recommend install the latest stable version.

Running from CLI

./gradlew test will run all unit testing ./gradlew detekt will run detekt ./gradlew connectedVariantNameAndroidTest will run instrumented tests

Snapshot testing

To run snapshot testing you need:

  1. install python 2.7
  2. python-pillow
  3. ANDROID_HOME mapping your sdk path
  4. Run snapshot testing using Pixel 3 device API 27

./gradlew verifyDebugAndroidTestScreenshotTest to run snapshot testing

Thanks

App icon Blockchain by Andrejs Kirma from the Noun Project Error Icon made by Smashicons available at Flaticon

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages