Looking for our latest Base Project in Kotlin ?

https://github.com/LateralView/android-base-project-kotlin

Android Base Project

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 Wiki to learn the Best Practice in Android Development and more.

Included Libraries

  • 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...

Useful Managers

Also there is a repository for user management (UserRepository) and another repository for sessions (SessionRepository), which are stored in the shared preferences.

Package Structure

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).

Base Project Architectures

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 Wiki

Extra

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 android@lateralview.net

Happy codding!