Skip to content

This repository serves as a template equipped with essential developer tools, ensuring a seamless setup process for a confident and efficient start.

License

Notifications You must be signed in to change notification settings

ihridoydas/BaseTemplateAndroidApp

Repository files navigation

Base Template Android App

Kickstart your Android app development with this GitHub template repository. Designed by Hridoy Chandra Das, it provides essential tools without imposing code-writing opinions.

Why This Template?

  • Freedom to Choose: No opinions on code structure or architecture. Developers decide on their own.
  • Opinionated Tooling: Configured dependency management, git hooks, code formatting, and static analysis for enhanced development.

Inspired by AndroidAppTemplate.

Getting Started

  1. Click "Use this template" to create a repository under your account.
    templateName             : "template",
    templateAppId            : "template.app.id",
    templateMaterialThemeName: "TemplateTheme",
    newTemplateName          : "Project", [Enter your project name here]
    newTemplateAppId         : "domain.yourname.app", [Enter your project package name here]
    newMaterialThemeName     : "MyMaterialTheme", [Enter your project theme name here]
    useHiltDependencies      : true,
    useRoomDependencies      : true,
    useRetrofitDependencies  : true,
    usePaparazziDependencies : true,
    
  2. Customize by adjusting setup.gradle and running ./gradlew renameAllModules.

What's Included

Explore third-party dependencies and documentation in /documentation. Notable inclusions:

  • Ktlint for code formatting.
  • Detekt for code smells.
  • Git Hooks for static analysis checks.
  • GitHub Actions for continuous integration.
  • LeakCanary for detecting memory leaks.
  • Hilt and Room dependencies (removable via setup.gradle).
  • Paparazzi dependency (removable via setup.gradle).
  • Dokka dependency, which document all project and module.
  • Spotless dependency, which is Keep your code spotless.
  • sortDependencies dependency, which is Sorts dependencies in build.gradle files.

Dependency Setup

Dependencies are structured in /buildscripts. App module dependencies defined using a Gradle version catalog in libs.versions.toml.

Danger Checks

Uses Danger for PR checks. See Dangerfile. Set up a Danger API key in GitHub secrets for GitHub Actions. we have a GitHub Actions workflow for Danger checks. In order for that to work properly, you'll need to give Danger permission to comment on your repository.

You can do so by navigating to Repository Settings -> Actions -> General, scroll down to Workflow Permissions and set the permissions to read and write.

Templates

Includes Pull Request Template for organized PR descriptions.

About

This repository serves as a template equipped with essential developer tools, ensuring a seamless setup process for a confident and efficient start.

Resources

License

Stars

Watchers

Forks

Packages

No packages published