Skip to content
chandan-satapathyPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Snitch

An Android app that helps you stay honest about energy balance — calories in (food, logged by text, search, barcode, or photo with AI estimation, tuned for home-cooked Indian food) versus calories out (BMR baseline + activity from Health Connect and manual entry).

This repository is at Phase 0 — Scaffold: a minimal, buildable app shell. No product features yet; see the plan doc for the full roadmap.

Building

The project uses the Gradle wrapper, so no local Gradle install is required. Point JAVA_HOME at a JDK 17+ (Android Studio ships a compatible JBR) and ANDROID_HOME at your Android SDK before running Gradle:

export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
export ANDROID_HOME="/Users/chandansatapathy/Library/Android/sdk"

./gradlew :app:assembleDebug

local.properties (not checked into version control) points Gradle at the SDK; regenerate it with sdk.dir=<path-to-your-Android-SDK> if it's missing.

Requirements:

  • compileSdk / targetSdk 36, minSdk 26
  • Android SDK platform android-36 installed, plus a recent build-tools version

Static analysis

detekt is wired up but non-blocking in Phase 0:

./gradlew detekt

Module layout

A single Gradle module (:app) with package-level modularity — feature folders instead of separate Gradle modules, per the plan's "Codebase conventions." Each package has one clear responsibility:

com.snitch/
  navigation/           // bottom-nav destinations, NavHost, bottom bar
  core/
    design/             // Material 3 theme, color roles, reusable Composables
    common/             // shared utils, formatters, Result types (empty for now)
  domain/               // pure Kotlin: models + use-cases, no Android deps
    model/
    energy/             // BMR/TDEE/MET calculators (unit-tested, later phase)
    usecase/
  data/
    local/              // Room DBs, DAOs, entities, mappers
    remote/             // Retrofit: Gemini + Open Food Facts
    ai/                 // NutritionAiProvider + prompts/schema
    repository/         // MealRepository/ActivityRepository/ProfileRepository
  feature/              // one package per feature (ui + viewmodel)
    onboarding/
    chat/               // Home tab — conversational logger (stub in Phase 0)
    metrics/
    diary/
    settings/
  di/                   // Hilt modules

Packages that are still empty hold a short package-info.kt documenting what belongs there, so the tree itself reads as documentation even before the code exists.

See /Users/chandansatapathy/.claude/plans/i-want-to-create-steady-journal.md for the full product plan, architecture decisions, and phased roadmap.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages