https://github.com/LateralView/android-base-project-kotlin
Base project built using Dagger2 for Dependency Injection and MVC architecture with Repository Pattern. It has several managers classes that encapsulate features that are usually used in a common project, most using inversion control to decouple the implementation.
This project has the most common setttings applied. The main idea is to start any new project cloning this one.
Developed by the LateralView team.
Check our Uncyclo to learn the Best Practice in Android Development and more.
-
Dagger2 Compile-time dependency injection framework.
-
Retrofit Networking library that allows developers to easily make request to a server through Annotations.
-
Glide Fast and efficient open source media management and image loading framework.
More...
Also there is a repository for user management (UserRepository) and another repository for sessions (SessionRepository), which are stored in the shared preferences.
android-base-project/app/src/main/java/co/lateralview/myapp/
└───application
│ │ ...
└───domain
│ └─── model
│ │ │ ...
│ └─── repository
│ └─── implementation
│ └─── interfaces
│ │ ...
└───infraestructure
│ └─── manager
│ │ └─── implementation
│ │ └─── interfaces
│ │ │ ...
│ └─── networking
│ │ └─── implementation
│ │ └─── interfaces
│ │ │ ...
│ └─── pushNotification
│ │ ...
└───ui
└─── activity
│ │ ...
└─── broadcast
│ │ ...
└─── common
│ │ ...
└─── fragment
│ │ ...
└─── util
│ ...
If you are going to develop a big application, we recommend to create one package for each functionality (screen).
There is a branch with the following architectures:
-
MVP + Dagger2: Check develop+MVP branch more
-
[Latest] MVP + Dagger2 + RX: Check develop+MVP+RX branch more
For more information about that check our Uncyclo
Here you will find all the documentation related to Android Lateral naming standards, good practices, tips, useful libraries and more!
For any suggestions or if you want to join our team please contact us via [email protected]
Happy codding!