Skip to content

This app follows the current android development standards. Uses MVI / MVVM , Repository , Clean Architecture , Solid Principles , Room , Flow , Compose

Notifications You must be signed in to change notification settings

nhickf/Simple-Android-App

Repository files navigation

Simple Android App

This project demonstrates modern Android development with Jetpack Compose, Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material 3 based on Clean architecture.

Tech stack & Open-source libraries

  • Minimum SDK level 24.
  • Kotlin based, utilizing Coroutines + Flow for asynchronous operations.
  • Jetpack Libraries:
    • Jetpack Compose: Android’s modern toolkit for declarative UI development.
    • Lifecycle: Observes Android lifecycles and manages UI states upon lifecycle changes.
    • ViewModel: Manages UI-related data and is lifecycle-aware, ensuring data survival through configuration changes.
    • Room: Constructs a database with an SQLite abstraction layer for seamless database access.
    • Hilt: Facilitates dependency injection.
  • Architecture:
    • MVVM Architecture (View - ViewModel - Model): Facilitates separation of concerns and promotes maintainability.
    • Repository Pattern: Acts as a mediator between different data sources and the application's business logic.
  • Kotlin Serialization: Kotlin multiplatform / multi-format reflectionless serialization.
  • ksp: Kotlin Symbol Processing API for code generation and analysis.
  • Coil Jetpack compose image loading library.
  • [Constraint Layout] For complex ui designs.

Architecture

Simple Android App adheres to the Clean MVVM architecture and implements the Repository pattern, aligning with Google's official architecture guidance.

  • Why follow Clean MVVVM architecture and Repository Pattern ? Because it will help you to build more scalable, testable and clean project structure in your application.

Challenges

  • Small time frame to build this application
    • Why? Because you need to analyze the project first, come up with the plan how you will create the application in scalable and testable way. Also Project configuration takes a lot of time.
  • Cache Mechanism
    • Why? You need to convert pojo to entity which tedious to do within small time frame
  • PDF Images
    • Why? It's unusual to see using pdf for image which needed custom decoder convert to bitmap so that we can show those images

About

This app follows the current android development standards. Uses MVI / MVVM , Repository , Clean Architecture , Solid Principles , Room , Flow , Compose

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages