blocoio / android-template

Android app starter template

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ArchiTecture logo

test lint

The goal of this Template is to be our starting point for new projects, following the best development practices. It's our interpretation and adaptation of the official architecture guidelines provided by Google. And it's inspired by Google's NowInAndroid.

Clean architecture with 3 main modules

  • Data (for database, API and preferences code)
  • Domain (for business logic and models)
  • AndroidApp (for UI logic, with MVVM)

ArchiTecture logo

Tests

  • Mockk library
  • Unit tests
  • Application tests
    • example on how to work with tests
  • Activity tests (with Compose Testing)
    • example on how to work with coroutine scopes in tests

Other useful features

Getting started

  1. Download this repository extract and open the template folder on Android Studio
  2. Rename the app package io.bloco.template
  3. Check if the manifest package was renamed along with the package
  4. Replace composables with the Template name
  5. On androidApp/build.gradle, change the applicationId to the new app package
  6. On androidApp/build.gradle, update the dependencies Android Studio suggests
  7. On string.xml, set your application name

If you run the Project inside the NewProjectCI all the above steps are done by you automatically, you can run the project using Android Studio then Opening the Main.kt file and press "Run MainKt". You will be prompted about a new package name and app name

  1. On Theme.kt & Color.kt set your application style
  2. Replace the App Icons
  3. Delete unwanted example files
  4. Run ./gradlew dependencyUpdates and check for dependencies
  5. Ready to Use

And you're ready to start working on your new app.

Notes

  • Android Template contains .github/workflows for lint check, unit testing and dependency checks. You can easily take this project worflow and repurpose it with a few path changes, you can also find a commented example in test.yml for Instrumentation Testing and CodeCoverage that we advice to keep a clean project, you will however need to replace the secret keys with your own.