Skip to content

Latest commit

 

History

History
30 lines (17 loc) · 1.68 KB

README.md

File metadata and controls

30 lines (17 loc) · 1.68 KB

Stolker

Introduction ✋

Stolker app is named by a combination of the words "stocks" and "stalker" :P. What this app does is to provide an easy way to a user to see details for a stock, crypto or currency. For the moment, these information include the current price, the previous closing price and the percentage difference.

Technical details 👨‍💻

This app uses Flows, MVVM with UI States, Clean Architecture, Navigation Fragments, Koin for DI, OkHttp for Api and WebSockets communication and consists of the below module:

  • :data
  • :domain
  • :network
  • :common

Also, I intoduced 2 buids types in the build.gradle, where I inject the Base URLs for the beta and mock servers and their auth tokens.

💡Important: In order to be able to run the app on your own workstation, you have to create a local.properties files and include the required fields that build.gradle tries to retrieve. You can contact me to send you the file for your convinience, but I don't want to commit it and have the API keys available in the repo.

Videos 📹

select_product_from_the_list.webm
product_search_and_details.webm

Testing 🧪

For the Unit testing I used Mockk for mocking dependencies, Turbine for Flows testing and kotest for more comprehensive matchers.

For the UI tests, I simply used Espresso and I used the Robot Pattern.