Skip to content

Master - koin (do not merge) #63

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 84 commits into
base: develop
Choose a base branch
from
Open

Conversation

agustinkoll-rootstrap
Copy link
Contributor

Description

This branch contains modular clean architecture with Koin for dependency management as an alternative to the main develop branch.

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:

  • data
    
  • domain
    

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:

  •  data
    
  •  domain
    

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)

sebalopez and others added 30 commits June 9, 2020 09:20
…ssionManager.kt

Co-authored-by: Mathías Cabano <cabanomathias@gmail.com>
updated crashlytics
updated build graddle
added view binding
removed deprecated code
aguskoll and others added 24 commits January 11, 2022 11:51
added test libraries
renamed user dto
# Conflicts:
#	app/build.gradle
#	app/src/main/java/com/rootstrap/android/ui/activity/main/SignInActivityViewModel.kt
#	app/src/main/java/com/rootstrap/android/ui/activity/main/SignUpActivityViewModel.kt
#	app/src/main/java/com/rootstrap/android/util/UtilModule.kt
#	app/src/test/java/com/rootstrap/android/SignInActivityViewModelTest.kt
#	app/src/test/java/com/rootstrap/android/SignUpActivityViewModelTest.kt
#	app/src/test/java/com/rootstrap/android/test/UnitTestBase.kt
Sync master from origin repo
Sync Master-koin from original repo
Updated Koin library to 3.1.3
Updated KtLint library to 0.44.0
Optimized buildSrc module for Gradle Dependencies Management
Updated App name
Optimized app for Android 12
Added pre-push GitHook
…o_gradle_kotlin

Migrate Gradle Groovy build scripts (*.gradle) to Gradle Kotlin build scripts (*.gradle.kts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants