App that simulates a bee race using an online API as a data source.
Clean Architecture + MVVM in a simplified way.
The app is created in 4 hours of work and therefore not all the ideal clean code can be implemented.
- It would be perfect to create a multi-modular app made up of 5 main layers: 1-Domain, 2-Presentation, 3-UI, 4-Data, 5-DataSource and finally a "dirty main"
app
for Dependency Injection and Navigation - Also create
Bases
files forViewModel
, genericsUseCase
,UseCaseExecutors
orCoroutinesProviders
to depend of abstractions and be able to test the code more easily. - Use the
contentDescriptions
in a correct way, facilitating accessibility. - Eliminate hard coded texts and use
string.xml
resources to facilitate i18n. - Add animations to increase the user experience (UX).
- If independent models were used for the UI layer and the Data layer, it would be correct to use, for example,
@Stable
andkeys
to increase the performance ofLazyColumn
. - Efficiently control the reCaptcha callback.
- Include
tests
- Add a Internet Access observer.
- A functional app divided into 3 main layers (Domain, Data, Presentation) but in a single module separated by features.
- In
core
: Navigation and Dependency Injection. - Using Jetpack Compose.
- Limit of 30 calls per minute
- Random endpoint from a reCaptcha