rootstrap / android-base

Rootstrap Android Base project
https://rootstrap.com
40 stars 6 forks source link

Clean architecture koin #58

Closed agustinkoll-rootstrap closed 2 years ago

agustinkoll-rootstrap commented 2 years ago

Description

We added modular clean architecture with Koin for dependency management:

APP

This is the presentation module, also known as the user interaction layer. Here we manage activities, fragments, views and viewModels.

DATA

In this module we find a definition of the different data sources (local or remote). The implementation of each repository. Network and endpoints implementation. Database implementation. (not implemented in this pr). Test: We added example test to the View models mocking each use case.

Depends on:

DOMAIN

It's the layer where we manage the business models. Depends on: No dependencies.

USE-CASES

This is the management layer of all the actions that the user can trigger. The business logic goes here. Every action that the user can make in the app has a use case. Depends on:

There is an additional BUILDSRC module that we use to manage dependencies and versions. This module takes a system name that is recognized by the compiler and executed in the first instance before loading any other module.

We follow one of the basic principles of development to found the bases on the three following pillars: SCALABLE MAINTAINABLE TESTABLE

Dependencies Chart:

Presentación sin título (1)

amaury901130 commented 2 years ago

I'd consider removing this branch/PR: https://github.com/rootstrap/android-base/pull/49