Micro-service architecture is one of the most hyped topics in backend development the last few years. However, when it comes to mobile projects, in most cases, we are stuck with big monoliths in our code bases.
In combination with agile environments, that causes problems not only in project scalability, but also team flexibility.
At Babbel, we work in full-stack product development teams, implementing scrum and also set up Android projects, based on a fully modular architecture. This approach allowed us to reduce dependencies and achieve team autonomy, and also sustain a very flexible and highly maintainable code-base.
This session will be a showcase of our current project architecture, focusing on tools (Gradle, Git Subtrees , Dagger 2, CIs) and best implementation practices, including code examples and configuration snippets.
We will explore the flexibility that modular architecture provides for feature switches, versioning, demos, testing, quality gates and DCL, but also the overhead of the configuration, the build times and shared code ownership.
We will also provide migration guidelines from monolith to modular project set-up.