Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍳 OnsInventory

Build Status Code Coverage Dependency Status npm package

Household pantry, fridge, and freezer inventory tracking with recipe recommendations based on what you already have at home. Self-hosted on a Raspberry Pi and served at onsinventory.com through a Cloudflare Tunnel.

Structure

Directory Description
backend/ Java 25 / Spring Boot 4.1 REST API with PostgreSQL (prod) or H2 (local)
frontend/ React + TypeScript SPA built with Vite and Tailwind CSS

Features

  • Inventory management across pantry, fridge, and freezer, shared per household
  • Recipe recommendations ranked by how many ingredients you already have
  • Expiry tracking for expired and soon-to-expire products
  • Meal planning and cooking recipes directly from stock
  • Households with members, e-mail invitations, and shared inventory
  • Accounts with JWT login, password reset, and anonymous feedback via e-mail (Resend)

Quick start

# Backend (H2 in-memory, security disabled)
cd backend
mvn spring-boot:run

# Frontend (http://localhost:5173)
cd frontend
npm install
npm run dev

See the backend README, frontend README, and QUICKSTART for details, and DEPLOYMENT for the Raspberry Pi setup.

Tests

cd backend && mvn test       # JUnit integration tests
cd frontend && npm run test  # Vitest unit tests

CI/CD

  • CI (ci.yml) — tests backend and frontend on every PR and push to main
  • Release (release.yml) — branch prefixes drive semver: bug/* → patch, feature/* → minor, breaking/* → major
  • Deploy (deploy.yml) — builds and deploys to the Raspberry Pi via a self-hosted runner on release

About

Application for managing stock (pantry, fridge & freezer), recommend recipes and mealplanning

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages