Android App

Juice Tracker

View Code
Juice Tracker app poster

Track juice combinations with modern Android architecture

Juice Tracker is a native Android application designed to track different juice combinations, details, and ratings. This project explores the transition and interoperability between traditional Android Views and Jetpack Compose — backed by local Room persistence and reactive StateFlow state.

Views → Compose

Demonstrates a real migration path from XML Views to Jetpack Compose, mixing both in one app.

Local-first

All data stays on-device in a Room database — no network layer, instant responsiveness.

This app demonstrates a complete local CRUD flow for juice entries — logging names, descriptions, colors, and ratings — persisted with Room and rendered through a UI that blends Jetpack Compose with classic Android Views.

Core Features

  • Log juice entries with name, description, color, and rating
  • Persist everything locally with the Room database
  • Embed Compose UI inside a RecyclerView-based screen
  • Reactive updates driven by Kotlin StateFlow
  • MVVM separation between UI, ViewModel, and data layers

Specifications

Language

Kotlin

Architecture

MVVM

UI

Compose + XML Views

Storage

Room Database

Asynchrony

Coroutines & StateFlow

Interop

Compose inside RecyclerView

Core Components

Juice Entry Form
Juice List (RecyclerView)
Compose Item Composables
Room Entity & DAO
ViewModel + StateFlow
Rating & Color Fields

Tech Stack

KotlinJetpack ComposeXML ViewsRoomViewModelCoroutinesStateFlowRecyclerViewMVVM
View full README