Spark app is a simple Android application to explain clean architecture in android + CI/CD with Github Actions
- Fragments (By Android Navigation Component, Single Activity)
- ViewModels (Communicate with Use-Cases, Return LiveData)
- Entities (Core of system. The app's units)
- UseCases (A bridge between Presentation and Data layers, System logic)
- Contracts (Explain how layers can provide/access to data)
- Repositories (implement Domain layer's contracts, get Data from Repos and map them to Domain layer's entity)
- DataEntities (get from APIs or DB)
I've covered the most important layers as much as possible. But still needs to write more Unit/Ui tests.
Also I'm using GitHub Actions as CI/CD. As I defined before, If I push the codes into any branch except master/release, All tests will run, Then If all of them passed, one APK will be built and uploads into the Github actions artifact.
- Full Kotlin
- Dagger Hilt for DI
- Coroutines
- LiveData
- Navigation Component
- Junit/Espresso
- GitHub actions as CI/CD
I've created 6 APIs with PHP Laravel framework. I've published the Postman collection by this link. https://documenter.getpostman.com/view/6268446/TW74hQ3R
AmirHossein Teymoori [email protected]