ragdroid / klayground

Playground for Kotlin, MVI and other stuff

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

klayground

==========================================

This project is a Playground for Kotlin, MVI, Clean Architecture and other things.

  • This project uses Marvel API Data provided by Marvel. © 2016 MARVEL
  • It is highly inspired / reimplementation of mosby-mvi sample for now. Will improve in future. MVI on top of MVP
  • Kotlin implementation is inspired from MVI For Android Video by oldergod

Clean Architecture

Currently divided into three module :

  • api : For API entities

  • data : For logic, Repositories, Uses Cases, Mappers

  • presentation : Views and Presenters

  • cache module (Future): Using Room in future

    presentation --> data --> api/cache
    

Base Mvi

It also consists of a base mvi module which can be re-used. It can be found in the mvvmi Module. It extracts away the boilerplate which comes with implementing MVI base for each screen. It can be used in both activities and fragments.

Libraries

This project uses

  • Clean Architecture
  • Retrofit for API with Moshi Converter
  • Dagger for Dependency Injection
  • Timber for logging
  • Reclaim for RecyclerView Adapters
  • Data Binding
  • RxBinding
  • Leak Canary
  • Architecture Components - ViewModel and LiveData
  • Spek Framework for testing

To-do

  • More Features
  • Improve Testing
  • Improve Documentation

Contributing

You are welcome to open PRs / issues, Give suggestions and feedback

About

Playground for Kotlin, MVI and other stuff

License:MIT License


Languages

Language:Kotlin 93.0%Language:Java 7.0%