/BlockchainChallenge

Blockchain programming challenge

Primary LanguageKotlin

This is a submission for the Blockchain.com coding challenge.

The core of the application (the "app" module) is pure JVM, as is the basic domain model
(the "model" module). The "app-android" module serves to bootstrap the process, and
supplies adapters to the Android GUI and various services to the ports defined by the app.

The implementation uses Retrofit for calling the REST API, with its RxJava connector for
managing the asynchronous request and delivering the data to the app.

Unit Testing
------------

I decided to experiment a bit and try Spek for unit tests. It seems to still be less
mature than rSpec was when I last used that, but shows promise. It is certainly more
concise than the equivalent in straight JUnit 4/5.

To run Spek specifications in IntelliJ IDEA or Android Studio, install the Spek Framework
plugin (Preferences > Plugins > search for "Spek Framework").

https://plugins.jetbrains.com/plugin/10915-spek-framework

There is a run configuration included to execute all of the app module specs (the only
module that has specs at the time of writing). Running individual specs from the icons in
the editor margin does not seem to work at this time.