andrzejbogacz / Clean-Architecture-Playground-2019-

Android application following best practices: Kotlin, Dagger2 ,coroutines, Clean Architecture, MVVM, DataBinding, NavigationUI and more...

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project description

Kotlin Version API

Loqui is a project that presents modern, 2019 approach to Android application development using Kotlin and latest tech-stack.

The goal of the project is to demonstrate best practices and present modern Android application architecture that is modular, scalable, maintainable and testable. The goal is to design it in a manner, that will set the rock-solid foundation of the larger app suitable for bigger teams and long application lifecycle. Many of the project design decisions follow official Google recommendations.

Project characteristics

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

  • 100% Kotlin
  • Modern architecture (Clean Architecture, Model-View-ViewModel)
  • Android Jetpack
  • A single-activity architecture, using the Navigation component to manage fragment operations
    • Reactive UIs
  • Firebase
  • CI pipeline (TODO)
  • Testing (TODO)
  • Dependency Injection
  • Material design

Tech-stack

Min API level is set to 21, so the presented approach is suitable for over 85% of devices running Android. This project takes advantage of many popular libraries and tools of the Android ecosystem.

Architecture

TODO

Upcoming improvements

  • Implementing randomizing users
  • Add test coverage
  • Improve error handling
  • UI tests
  • Improve databinding with two-way data binding using InverseAdapters
  • Add Room (?)
  • Support for DayNight MaterialTheme
  • and much more…

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/andrzejbogacz/LoquiCleanArchitecture.git into URL field

Command line + Android Studio

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

Inspiration

About

Android application following best practices: Kotlin, Dagger2 ,coroutines, Clean Architecture, MVVM, DataBinding, NavigationUI and more...


Languages

Language:Kotlin 99.2%Language:Java 0.8%