Skip to content

A starting point for Clean Architecture for Android with Kotlin, Flow, Coroutines, MVVM, MVI.

Notifications You must be signed in to change notification settings

segnonna/Android-Clean-Architecture-MVVM-MVI-Starter

Repository files navigation

Table of Contents
  1. About The repo
  2. Getting Started
  3. Unit test with Junit. 5
  4. Instrumented tests with Robolectric
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About the repo

Architecture is the design of functional, safe, sustainable and aesthetically pleasing software. There are many ways to architect your applications like the common MVC, MVP and MVVM patterns. This repo will get you a starter sample of clean architecture by using Kotlin, Flow, KOIN Coroutines, MVVM, MVI, ViewBinding. With this architecture, i want to achieve scalability, maintanibility, testability, usability, extensibility, safety and security. This repo follows the principle of Clean archtecture (also called onion because of the circle representation of the layer) and MVI

The Clean Architecture has been formalized by Robert C. Martin (aka uncle bub) in 2012. It's based on the SOLID principles (presented for the first time in early 2000).

Onion architecture

SOLID principles

Enjoy with this links

Getting started

Domain Layer

https://github.com/hounsouh/Android-Clean-Architecture-MVVM-MVI-Starter/tree/master/domain

Data Layer

https://github.com/hounsouh/Android-Clean-Architecture-MVVM-MVI-Starter/tree/master/data

Remote Layer

https://github.com/hounsouh/Android-Clean-Architecture-MVVM-MVI-Starter/tree/master/remote

Presentation Layer

https://github.com/hounsouh/Android-Clean-Architecture-MVVM-MVI-Starter/tree/master/presentation

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/ACAMVVMMVIStarter)
  3. Commit your Changes (git commit -m 'Add some Amazing Feature')
  4. Push to the Branch (git push origin feature/ACAMVVMMVIStarter)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Hospice HOUNSOU (https://www.linkedin.com/in/hospicehounsou/)

About

A starting point for Clean Architecture for Android with Kotlin, Flow, Coroutines, MVVM, MVI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages