Skip to content

vitorsalgado/android-boilerplate

Repository files navigation

Android Boilerplate

Build Status Code Climate Codacy Badge Min. API

Android boilerplate application.
The goal is to have a base from where new projects can start with basic architecture, configurations and continuous integration already set.
This project contains several tools and different languages all working together to build a nice development environment.
Continue reading below for more details.

How to start a new project

This project has a predefined name and package structure (Boilerplate and br.com.vitorsalgado.example).
To facilitate new projects starting from this repository, there's a CLI tool written in JavaScript that fully replaces this predefined structure to new one, chosen by you. To use it, install latest Node.js version and then:

npm install
node cli.js

Mock Server

This project comes with a Mock Server already set. The mock tool was built on top of was built on top of WireMock and the reloader that comes together uses Node.js to watch file changes and restart WireMock. This makes development easier as developers become more independent of backend services.
Check the mock server documentation for more details.

Quality Assurance

This project integrates a combination of unit tests, automated tests and code analysis tools. Check the list below:

Static Analysis Tools

The following static analysis tools are set up on this project:

./gradlew ktlint
  • Detekt: Static analysis tool for Kotlin
./gradlew detektCheck
  • SonarQube: Continuous code inspection tool.
Required environment variables:
SONARQUBE_ORG=<YOUR_SONARQUBE_ORGANIZATION_KEY>
SONARQUBE_TOKEN=<YOUR_GENERATED_SONARQUBE_TOKEN>

make sonar

Security Tools

make check-security
  • MobSF: Mobile Security Framework.
make mobsf
Navigate to: http://localhost:8000

License

This project is available under Apache Public License version 2.0. See LICENSE.