Skip to content

Repository files navigation

CoolLib Android Client

Android UI Demo    Android CI/CD

Android client for the CoolLib ecosystem. Built with Jetpack Compose and Clean Architecture, designed for offline-first library management with synchronized backend integration.

Ecosystem

Android Metrics

Android Metrics

Tech Stack

Core

  • Kotlin
  • Jetpack Compose
  • Material 3

Architecture

  • Clean Architecture
  • MVVM
  • Hilt (Dependency Injection)

Data Layer

  • Room (local persistence)
  • Retrofit + OkHttp (network layer)
  • JWT-based authentication sync

Device Integration

  • CameraX (barcode scanning)
  • ML Kit (barcode recognition)
  • AndroidX lifecycle components

Capabilities

  • Offline-first library management with local persistence
  • ISBN scanning for fast book ingestion
  • JWT-secured synchronization with backend API
  • Reactive UI built with Jetpack Compose
  • Modular architecture aligned with server-side Clean Architecture design
  • Efficient DTO-based synchronization with backend services

Data Flow Architecture

flowchart LR

                subgraph DI ["`**Hilt Dependency Injection**`"]
                Hilt{{Hilt\nContainer}}
                end

                subgraph Data ["`**Data Layer**`"]
                direction TB
                Room[(Room\nDatabase)]
                DAO(Data Access\nObjects)
                Impl(RepositoryImpl)
                end

                subgraph Domain ["`**Domain Layer**`"]
                direction TB
                RepoI(interface\nRepository)
                UC(UseCases \n Interactors)
                end

                subgraph Presentation ["`**UI Layer**`"]
                direction TB
                VM(ViewModel)
                UIState([UiState])
                Compose(Jetpack\nCompose)
                end

                Room <--> DAO
                Impl --> DAO

                Impl -.->|Implements| RepoI

                UC --> RepoI
                VM --> UC

                VM -- "Exposes" --> UIState
                UIState -- "Renders" --> Compose
                Compose -- "User Action" --> VM

                Hilt e1@-.->|Inject| DAO
                Hilt e4@-.->|Binds| Impl
                Hilt e2@-.->|Inject| UC
                Hilt e3@-.->|Inject| VM

                e1@{ animate: true }
                e2@{ animate: true }
                e3@{ animate: true }
                e4@{ animate: true }

                %% =========================
                %% STYLE SYSTEM (Light Theme)
                %% =========================
                style Hilt fill:#0284c7,stroke:#0369a1,stroke-width:2px,color:#ffffff
                style Room fill:#334155,stroke:#1e293b,stroke-width:2px,color:#ffffff
                style DAO fill:#475569,stroke:#334155,stroke-width:2px,color:#ffffff
                style Impl fill:#64748b,stroke:#475569,stroke-width:2px,color:#ffffff

                style RepoI fill:#0d9488,stroke:#0f766e,stroke-width:2px,color:#ffffff
                style UC fill:#14b8a6,stroke:#0d9488,stroke-width:2px,color:#ffffff

                style VM fill:#16a34a,stroke:#15803d,stroke-width:2px,color:#ffffff
                style UIState fill:#bbf7d0,stroke:#16a34a,stroke-width:2px,color:#14532d
                style Compose fill:#f0fdf4,stroke:#16a34a,stroke-width:2px,color:#166534

                style DI fill:none,stroke:#0284c7,stroke-dasharray: 5 5
                style Data fill:none,stroke:#475569,stroke-dasharray: 5 5
                style Domain fill:none,stroke:#0d9488,stroke-dasharray: 5 5
                style Presentation fill:none,stroke:#16a34a,stroke-dasharray: 5 5

                linkStyle default stroke:#64748b,stroke-width:1.5px
Loading

About

Kotlin-based Android library management app. Powering reactive UI with Jetpack Compose, robust local Room persistence, integrated with the CoolLib distributed backbone and AWS cloud architecture.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages