The project displays a list of stocks that provides an endpoint.
For this project, the concept of clean architecture is used, which tries to organize the elements that make up the software design in layers that separate the different concerns of his logic.
The created modules are organized in a way that tells you the right place to develop the code. Below is a brief description of each of the modules created and their specific use:
app
(Android library): Presentation related logic (Activities, Fragments, Components, ViewModels/etc).data
(Android library): Logic related to data processing (Retrofit, StockResponse, RemoteStockDataSource, StockRepository, Mapper, etc.).domain
(Pure Java/Kotlin library): Things that represent your business logic, such as (StockModel, FetchStockUseCase, StockRepository Interface, etc.).usecase-di
: This is a convenient module used to centralize and satisfy the dependencies used by the project.
The structure of the code in this repo contain the following tools:
- Basic Modularization (app, domain, data layers)
- Clean Architecture
- Coroutines
- Compose
- Flow
- Hilt
- MockK
- Retrofit
This project was created taking inspiration from a previous work called The movies.
when you install the application you will find depending on the response of the end-point the following user interface:
You can find in the app-stock folder a version of the application that contains all the behavior required by the challenge.
- Install Android Studio
- Install Git
From Android Studio:
- Build menu
- Build Bundle(s)/ APK...