thiagoolsilva / android-template

It is an android template that helps developers to start its projects.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Icon

TBD

License Apache 2.0 minSdkVersion 22 compileSdkVersion 29 CI


Description

TBD

Table of contents

Characteristics

This project brings to table set of best practices, tools, and solutions:

  • 100% Kotlin
  • Modularization (app, presentation, domain, data, shared)
  • Android Jetpack
  • A single-activity architecture, using the Navigation component
  • Testing
  • Dependency Injection
  • Static code analyse
  • Firebase (Authentication and Firestone)
  • CI integration by gihub actions

App Screenshot

Tech-stack

Tech-stack

Technology Description
Kotlin + Coroutines Perform background operations
Koin Dependency injection
Firebase authentication Authentication
Firebase firestone Remote database
kotlinx-coroutines-play-services Extension function to handle firebase requests
Timber Logging
core-ktx Kotlin extensions
swiperefreshlayout Visual refresh layout
Technology Description
Navigation Deal with whole in-app navigation
LiveData Notify views about database change
Lifecycle Perform an action when lifecycle state changes
ViewModel Store and manage UI-related data in a lifecycle conscious way
Constraintlayout Allows to build flexible layout
Test Tests

Tests

Technology Description
Unit Tests (JUnit)
core-testing Used to sync background tasks
kotlinx-coroutines-test Used to sync coroutines jobs
mockk Mock objects using kotlin's style

Static code Analyse

Technology Description
Klint An anti-bikeshedding Kotlin linter with built-in formatter.
  • Architecture
    • Clean Architecture (at module level)
    • MVVM (presentation layer)
  • Gradle

Architecture

The application is separated in modules as displayed below

What this project does not cover?

The project does not cover ...

Getting started

There are a few ways to open this project.

Android Studio

  1. Android Studio -> File -> New -> From Version control -> Git
  2. Enter https://github.com/thiagoolsilva/TBD into URL field

Command-line

  1. Run git clone https://github.com/thiagoolsilva/TBD
  2. Android Studio -> File -> Open

Projects

Other high-quality projects will help you to find solutions that work for your project:

Author


Thiago Lopes

License

Copyright (c) 2022  Thiago Lopes da Silva

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
`

About

It is an android template that helps developers to start its projects.

License:Apache License 2.0