Skip to content

Dev-Aditya-More/Baskit

Repository files navigation

Baskit

Baskit

Scan food. Know what's inside. Build healthier habits.

Platform Kotlin Min SDK License Release


Screenshots

Home Screen
Home — Vitality Score
Scanner Screen
Scanner — Barcode Scan
History Screen
History — Scan Log
Profile Screen
Profile — Account

About

Baskit is a minimalist nutrition scanner for Android. Point your camera at any product barcode and instantly see a breakdown of its nutritional content — calories, macros, ingredients, and a calculated health grade — so you can make smarter decisions at the grocery store or at home.

Data is sourced from the Open Food Facts open database, and your scan history is stored locally so you can track your habits over time.


Features

  • Instant barcode scan — CameraX + ML Kit detect barcodes in real time
  • Rich product details — calories, macros, ingredient list, and a color-coded health grade
  • Vitality Score — weekly summary of your healthy picks and total calories scanned
  • Scan history — filterable log of everything you've scanned (Recent / Healthy / Unhealthy)
  • Google Sign-In — Firebase Auth for a personalized profile and cross-session continuity
  • Offline-first — all history persisted locally with Room; no account required to browse
  • Smooth onboarding — guided intro pager with DataStore-backed completion tracking
  • Dark-first design — Material 3 with a custom deep-green palette throughout

Tech Stack

Layer Libraries
UI Jetpack Compose, Material 3, Lottie
Navigation Navigation Compose
DI Koin 4.2
Database Room (KSP)
Network Retrofit 3 + Gson
Camera CameraX 1.5 + ML Kit Barcode
Auth Firebase Auth (Google Sign-In)
Images Coil
Persistence DataStore Preferences

Architecture

Single-module MVVM — clean separation between Compose UI, ViewModels, and repositories.

feature/
├── presentation/
│   ├── screens/       # Composables (no business logic)
│   ├── components/    # Reusable UI pieces
│   └── viewmodel/     # StateFlow state, orchestrates repos
├── data/
│   ├── local/         # Room entities, DAOs
│   ├── remote/        # Retrofit API interfaces
│   └── repository/    # Wraps DAO/API, exposes Flow / suspend fns
└── domain/            # Pure formatters and transformations

Navigation is handled by a sealed Screen class with a single AppNavGraph. The scanner opens as a full-screen route from the FAB; product details are scoped to a nested ProductGraph so the ViewModel survives the Loading → Detail transition.


Getting Started

Prerequisites

  • Android Studio Meerkat or later
  • JDK 11+
  • google-services.json placed in app/ (Firebase project required for Auth)

Build

# Debug APK
./gradlew assembleDebug

# Release APK
./gradlew assembleRelease

# Run unit tests
./gradlew test

The debug APK lands in app/build/outputs/apk/debug/.


Download

Grab the latest release APK from the Releases page — no build toolchain needed.


Data Source

Product information is provided by Open Food Facts, a free, open, collaborative food products database made by everyone, for everyone.


License

MIT License — Copyright (c) 2025 Aditya More

About

a grocery scanner app to keep you absolutely there when it comes to perfect choices

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages