Skip to content

jman9700/quarter-master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Fridge Inventory Platform (Raspberry Pi + Android)

This repository now contains a starter project for a home refrigerator inventory system:

  • A Raspberry Pi backend API for tracking inventory and accepting UPC scan events.
  • A companion Android app skeleton to view inventory and scan/add items from a phone.

Project Layout

  • pi-server/ — FastAPI + SQLite service intended to run on Raspberry Pi.
  • android-app/ — Android Studio project skeleton (Jetpack Compose + Retrofit + ML Kit dependencies).

1) Raspberry Pi service (pi-server)

Features in skeleton

  • GET /health for liveness checks.
  • GET /inventory to list fridge inventory.
  • POST /inventory to create a UPC item.
  • PATCH /inventory/{id} to update name/quantity.
  • POST /scan/upc to upsert/increment quantity when a UPC is scanned.

Run locally

cd pi-server
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

Then open docs at http://<pi-ip>:8000/docs.

USB barcode scanner integration idea (Pi)

Most USB UPC scanners act like keyboard input (HID). You can run a tiny daemon that reads scanner input and POSTs to /scan/upc.

Pseudo workflow:

  1. Read barcode text from scanner input.
  2. Send { "upc": "..." } to POST /scan/upc.
  3. Inventory updates immediately for both Pi and phone clients.

2) Android companion app (android-app)

Features in skeleton

  • Compose-based MainActivity with simple inventory list UI.
  • Retrofit repository for GET /inventory and POST /scan/upc.
  • Barcode scanning dependency setup (ML Kit + CameraX) and placeholder manager.
  • Manual UPC input button for immediate backend integration while camera flow is finalized.

Open in Android Studio

  1. Open android-app/ as a project.
  2. Set the backend IP in MainActivity.kt:
    • InventoryRepository(baseUrl = "http://192.168.1.100:8000/")
  3. Build/run on Android device.

Suggested next milestones

  1. Add camera preview and continuous UPC capture in Android (BarcodeScannerManager + CameraX frame pipeline).
  2. Add auth (PIN or local network token) between app and Pi API.
  3. Add item metadata enrichment (name/category) from UPC lookup provider.
  4. Add expiry date support and low-stock notifications.
  5. Package Pi service as a systemd service for always-on startup.

If you want, next I can scaffold:

  • A dedicated scanner daemon in pi-scanner/ for HID readers, and
  • A Docker Compose setup so the backend is one-command deployable on Raspberry Pi.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published