Multi-module demo app that gets data from a Github api
Module name | Type | Description |
---|---|---|
app | Android Application | MainActivity, BaseApplication, Theme, Hilt setup. |
core | Java/Kotlin Library | Core business models and utils classes. |
datasource | Java/Kotlin Library | Data-sources (network and cache) for the trending repos Module. |
datasource-test | Java/Kotlin Library | Data-source test cases. |
entities | Java/Kotlin Library | Domain models and classes for the trending repos Module. |
usecases | Java/Kotlin Library | Use-cases for the trending repos Module. |
ui-home | Android Library | UI components for the HomeList screen. |
constants | Java/Kotlin Library | Random constants. |
components | Android Library | Common Composables and Android utils |
- Kotlin - First class and official programming language for Android development.
- Coroutines & Flow - For asynchronous and more..
- Jetpack Compose - Modern toolkit for building native UI. It simplifies and accelerates UI development on Android.
- SQLDelight - Generates typesafe Kotlin APIs from SQL and it supports a variety of dialects and platforms
- Android Architecture Components - Collection of libraries that help you design quality, robust, testable, and maintainable apps.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- Dependency Injection -
- Dagger-Hilt - Standard library to incorporate Dagger dependency injection into an Android application.
- Hilt-ViewModel - DI for injecting
ViewModel
.
- Retrofit - A popular type-safe HTTP client for Android and Java
- Kotlin Serializer - Convert Specific Classes to and from JSON.Runtime library with core serialization API and support libraries with various serialization formats.
- Coil-kt - An image loading library for Android backed by Kotlin Coroutines.
- Mockito-Kotlin - Most popular Mocking framework for writing unit tests
There are 3 types of build.gradle files.
- android application (app module)
- android-library-build.gradle
- Android module that contains ui components.
- library-build.gradle
- Pure java/kotlin library.
https://docs.github.com/en/rest/reference/repos#list-public-repositories