levibostian / AndroidBlanky

Create a new Android app fast. Comes pre-installed with libraries you already use.
7 stars 0 forks source link

AndroidBlanky

Boilerplate project for Android apps. The template that I use for the apps that I build.

Nodejs developer? I have a boilerplate project for you! iOS developer? I have a boilerplate project for you!

Overview of project

What are the goals of AndroidBlanky?

AndroidBlanky has been modified over years of building Android apps. Through experience, I try to improve the way that I build Android apps as I encounter common bugs and annoyances. After each encounter, some engineering work is done to help remove that annoyance and prevent that bug from happening again.

AndroidBlanky comes equipped with the following goals:

This project attempts to be as small as possible to help you get up and running, fast. To stay small, here are the specific tasks that the project attempts to complete. Try to be no more, no less.

Decisions made for this project

Services

When I build apps, I like to use some external development services/tools to improve my developer experience and user experience. Here is a list of these services:

For privacy reasons, I like to avoid using 3rd party services for my apps.

Tools

Below is a list of development tools that are used in this project. These are tools beyond the typical Android development tools that are common amongst Android developers such as Android Studio. Check out the app's build.gradle files to see what Android specific tools and libraries are installed in the app.

Getting started

Follow the instructions below to get the project setup so you can begin development!

But wait!... If you are here looking to build a brand new app, follow the instructions in this document to do some initial setup of the project. If someone else on your development team has already setup the project for you, you can skip reading that document and proceed with the instructions below.

After you clone the GitHub repository on your computer, follow these instructions:

  1. ktlint used for linting Kotlin code. Run brew install ktlint on macOS to install. See this doc to install on any other OS. You know you have bundler installed when you run ktlint --version on your computer and get an output like this: X.X.X
  2. Install a newer version of Java on your machine. Android Studio comes with Java installed already. However, some of our Android development tools (such as Robolectric) requires a newer version of Java. Follow these instructions to learn more about how to install newer versions of Java and manage them on your machine. Open ./.github/workflows/test.yml and view the java version the CI server is using. That's the Java version you should use for local development.
./hooks/autohook.sh install  # Install git hooks

Generate screenshots

This may not work at this time... I want to take a step back and reconsider the implementation. See if there is a better way.

Need to take screenshots of the app for the app store? Screenshots are generated automatically for you through Espresso UI tests. To create screenshots, do the following steps:

At this time, screenshots are meant to be created on your development machine and manually upload screenshots to the Play Console.

Author

Levi Bostian image

Contribute

AndroidBlanky is not open for contributions at this time. This project showcases my preferred way to build an Android app. If you wish to make edits, by all means, fork the repo and make your edits in your own copy of the repo.