Skip to content

This is a template repository intended to get a quick up and running project for demonstration purposes.

Notifications You must be signed in to change notification settings

albertoastroc/AndroidAppTemplate

 
 

Repository files navigation

Android App Template

This is a GitHub template repository intended to kickstart development on an Android application. This project comes set with a handful of tools that Adam finds important and relevant to every project. If you think something is missing, or feel strongly that a setup should be changed, please submit an Issue.

Walkthrough

If you'd like a video walk through of this template and all it has to offer, you can find that on YouTube.

https://youtu.be/E0iMUWJn76E

Using This Template

To use this template in your own project, click the "Use this template" button at the top right of the repository. Once you do, a repository will be created for your account that you can clone and use on your device.

To setup this repository to your needs, open the setup.gradle file and tweak the renameConfig block to your needs. After that, you can run the renameTemplate gradle task to have the app module's package name and relevant strings replaced.

Cleanup

Once you've done this, feel free to delete that setup.gradle file from your project. In addition, you can remove the template_change_test workflow which validates the above process for the template repo itself.

What's Included

A number of third party dependencies are included in this template. They are also documented inside the documentation folder. The files inside this documentation folder are written in such a way that you can keep them in your real project, to let team members read up on why dependencies are included and how they work.

The dependencies in the template include:

Danger

This template uses Danger which will perform some checks against our pull requests. You can find the list of checks in the Dangerfile. In addition, we have a GitHub Actions workflow for Danger checks. In order for that to work, you'll need a Danger API key setup in your GitHub secrets. Info on this can be found here.

Templates

There are also templates within this template. This repo comes shipped with a Pull Request Template that will help you and your team write organized and detailed pull request descriptions.

Dependency Setup

You may notice that dependencies are set up in a very specific way. Each of the tools has its own Gradle file in the buildscripts folder. This is by design so that if you chose to have a multi module project, these dependencies can easily be shared between them. This is already configured inside our root build.gradle.kts file, by applying to each sub project:

subprojects {
    apply from: "../buildscripts/detekt.gradle"
    apply from: "../buildscripts/versionsplugin.gradle"
}

In addition, all of the app module dependencies are defined using a gradle version catalog, found in this toml file.

About

This is a template repository intended to get a quick up and running project for demonstration purposes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 78.8%
  • Ruby 13.5%
  • Shell 7.7%