A banking app demonstrates modern Android development using Hilt, Coroutines, Jetpack Compose, Room, ViewModel, MVVM architecture.dark and ligth theme, offline support, multi module.
- Home,
- Cards
- Transactions.
- Login
- Onboarding
- Error handling
The following diagram sugest the way to modularizated by feature + layer
Release process tools:
- CI/CD: Bitrise
- Repository: Gitlab
- Android libraries storage and distribution: jfrog
- App Distribution: Firebase App Distribution
Quality assurance:
We will use unit test, integration test an end to end test.
- Linter: ktlint
- Plugin coverage and test report_ Jacoco:
- UI Test: Maestro.dev
- Unit test: Junit, mockK, Roboelectric
Workflow:
-
When some one push code to an specific branch or when a mr is trigered trough a webhook will run an specific pipeline on Bitirse.
-
The pipeline will run tests and build.
-
We are using jfrog Artifactory as own dependency store.
-
When the final build is ready we send to Firebase app distribution to allow testers to check the app.
-
The final stage will be deploy to Google Play