/mini-stockbit

Miniature of stockbit application to show data from stock market

Primary LanguageKotlin

API Profile

Project to replicate Stockbit app, although its a mini size of that app. Some cool tech stack I'm using in this project is Scarlet, Modularization, Navigation Component, etc. Not to forget, I also adding Unit Test for each layer.

Preview

Screenshot

Login Watch List Data Feed

Tech Stack

Architecture

Modularization, based on Clean Architecture divided into three main modules

  • Data (Mostly for calling API)
  • Domain (More like mediator between Data and Presentation)
  • Presentation (UI and business logic)

Inspired by Android Clean Architecture project by Happy Singh. Awesome modularization project.

Libraries

Core & Jetpack

Development, Debug & Test

API

I'm using CryptoCompare API to get the data both API and WebSocket. Click link below

Modules

App

Main purpose is to startKoin because app module implementing other three modules, so its the best place to startKoin that covered the whole app

BuildSrc

BuildSrc is the module to maintain the dependencies of third party library for app to use. It contains list of dependencies and version of that dependencies.

Data

Handle communications to remote data. In this app case is to call API both for REST and WebSocket

Domain

Contain use case and became the mediator to transfer data from Data layer to Presentation layer

Presentation

This layer responsiblity is to handle UI and business logic. I put the MVVM design pattern implementation here. The module only know about Domain module.