Skip to content

archiegq21/Kontent

Repository files navigation

Kontent

Kontent is an Demo Content Browsing application using ITunesService

Project Structure

The project is structured with Kotlin Multiplatform in mind.

The project currently only contains two Module:

  1. Android App Module
  2. Common Module (KMM)

The common module contains all the application logic which could be shared across multiple platforms.

TODO: Create iOS App Module to use the common module

Libraries

Most Libraries used in the Project are KMM compatible:

  1. Ktor for Networking
  2. Kotlin Serializationx for Serialization
  3. Koin for Dependency Injection
  4. SqlDelight for Database Caching
  5. MultiplatformSettings for SharedPreferences/NSUserDefaults

The project also heavily utilizes Coroutines and Flow for handling states and fetching data.

Architecture

The project uses MVVM architecture which utilizes Flow instead of either LiveData or RxJava for its reactive components.

The project follows the recommended Android Architecture.

UI

The Android Application is fully created with Jetpack Compose which simplifies alot of UI components and allows alot of components/composable to be much more reusable and flexible.

TODO: Create iOS App with Swift UI

Other Things

  1. Add Unit Test, UI and Integration Test
  2. Review existing compose components
  3. Create custom theme (currently uses default theme)
  4. Add BuildTypes and Variants
  5. Create the iOS Application

APK

A Signed APK could be retrieved here.

Note: The apk is signed with a debug key.

About

Imaginary Content Browsing Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published