An open API service indexing awesome lists of open source software.

https://github.com/AniTrend/support-arch

A multi-module template library that attempts to make clean arch apps easier to build
https://github.com/AniTrend/support-arch

android anitrend architecture clean-architecture

Last synced: 3 months ago
JSON representation

A multi-module template library that attempts to make clean arch apps easier to build

Awesome Lists containing this project

README

        

# Support Arch Library

[![Run unit tests](https://github.com/AniTrend/support-arch/actions/workflows/android-test.yml/badge.svg?branch=develop)](https://github.com/AniTrend/support-arch/actions/workflows/android-test.yml)   [![Run spotless checks](https://github.com/AniTrend/support-arch/actions/workflows/android-spotless.yml/badge.svg?branch=develop)](https://github.com/AniTrend/support-arch/actions/workflows/android-spotless.yml)   [![gradle-dokka](https://github.com/AniTrend/support-arch/actions/workflows/gradle-dokka.yml/badge.svg)](https://github.com/AniTrend/support-arch/actions/workflows/gradle-dokka.yml)   [![Codacy Badge](https://app.codacy.com/project/badge/Grade/b6b86af662304c2e9f7f8625d5980fe0)](https://www.codacy.com/gh/AniTrend/support-arch/dashboard?utm_source=github.com&utm_medium=referral&utm_content=AniTrend/support-arch&utm_campaign=Badge_Grade)
  [![](https://jitpack.io/v/anitrend/support-arch.svg)](https://jitpack.io/#anitrend/support-arch)   [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FAniTrend%2Fsupport-arch.svg?type=small)](https://app.fossa.com/projects/git%2Bgithub.com%2FAniTrend%2Fsupport-arch?ref=badge_small)

This project is an attempt to create a reusable mobile architecture that follows some of the aspects of [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html), [Guide to App Architecture](https://developer.android.com/jetpack/docs/guide) and is mostly written in Kotlin and makes use of [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/) bundled with a couple of libraries.

## Documentation for Modules

All code documentation is generated by [dokka](https://github.com/Kotlin/dokka) at build time and published on [github pages](https://anitrend.github.io/support-arch/).

- [ui](https://anitrend.github.io/support-arch/ui/index.html)
- [theme](https://anitrend.github.io/support-arch/theme/index.html)
- [recycler](https://anitrend.github.io/support-arch/recycler/index.html)
- [extension](https://anitrend.github.io/support-arch/extension/index.html)
- [domain](https://anitrend.github.io/support-arch/domain/index.html)
- [data](https://anitrend.github.io/support-arch/data/index.html)
- [core](https://anitrend.github.io/support-arch/core/index.html)
- [analytics](https://anitrend.github.io/support-arch/analytics/index.html)
- [request](https://anitrend.github.io/support-arch/request/index.html)
- [paging-legacy](https://anitrend.github.io/support-arch/paging-legacy/index.html)
- [recycler-paging-legacy](https://anitrend.github.io/support-arch/recycler-paging-legacy/index.html)

## Libraries

### Core

- [Android KTX](https://developer.android.com/kotlin/ktx.html/)
- [View Binding](https://developer.android.com/topic/libraries/view-binding/)
- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html/)
- [Kotlin](https://kotlinlang.org/)
- [Material Components](https://material.io/develop/android/docs/getting-started/)
- [Live Data](https://developer.android.com/topic/libraries/architecture/livedata/)
- [Lifecycle](https://developer.android.com/topic/libraries/architecture/lifecycle/)
- [Room](https://developer.android.com/topic/libraries/architecture/room)
- [Paging](https://developer.android.com/topic/libraries/architecture/paging/)
- [Worker Manager](https://developer.android.com/topic/libraries/architecture/workmanager/)

### Testing

- [Mockk](https://mockk.io/)
- [Junit](https://developer.android.com/training/testing/junit-rules/)
- [Runner](https://developer.android.com/training/testing/junit-runner.html/)

### Logging

- [Timber](https://github.com/JakeWharton/timber/)
- [OkHttp](https://square.github.io/okhttp/)

## License

```
Copyright 2018 AniTrend

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.
```