Skip to content
dadaloop82 edited this page May 4, 2026 · 2 revisions

🏠 EverShelf Wiki

Welcome to the EverShelf project wiki β€” your complete reference for installation, configuration, features, and development.


πŸš€ Try it now

β–Ά Live Demo β€” no installation, no login, full AI enabled
🌐 Project Website


πŸ“š Wiki Contents

Page Description
Installation Docker, manual setup, HTTPS, web server config
Configuration .env reference β€” all options explained
Features Complete feature documentation
API Reference All REST endpoints, parameters, and responses
Android Kiosk Tablet kiosk app setup and usage
Scale Gateway BLE smart scale integration
Translations Adding and editing language files
Contributing Development workflow and PR process
FAQ & Troubleshooting Common issues and solutions

✨ What is EverShelf?

EverShelf is a self-hosted pantry management system that runs entirely on your own server. It:

  • Tracks food inventory across multiple storage locations (pantry, fridge, freezer, custom)
  • Scans barcodes and uses Google Gemini AI to identify products from photos
  • Suggests recipes based on what's in your pantry β€” especially items about to expire
  • Predicts what you'll need to buy before you run out
  • Integrates with the Bring! shopping list app
  • Supports a BLE smart scale for weight-based tracking
  • Runs as a Progressive Web App installable on any device
  • Optionally pairs with a dedicated Android kiosk tablet app

All data stays on your server. No cloud, no subscriptions.


πŸ†• What's New

v1.7.1 (2026-05-04)

  • Destructive actions ("Butta tutto", "Finisci tutto") now require a 5-second countdown confirmation before executing
  • History undo button ↩ is now clearly visible (red tint, larger)
  • Undo confirmation uses the in-app modal instead of the native browser confirm()

v1.7.0 (2026-05-04)

  • Smart auto-discovery rewrite (kiosk)
  • Gateway auto-pre-configuration after install
  • ErrorReporter init at setup start
  • Graceful Bring! no-key state
  • Use-quantity guard with shake animation
  • Demo mode (?demo=1)

β†’ See the full CHANGELOG


πŸ“¦ Repository Structure

EverShelf/
β”œβ”€β”€ index.html                  # Single-page application entry point
β”œβ”€β”€ manifest.json               # PWA manifest
β”œβ”€β”€ .env.example                # Configuration template
β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ index.php               # Main API router
β”‚   β”œβ”€β”€ database.php            # SQLite schema + migrations
β”‚   └── cron_smart_shopping.php # Background predictions job
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ css/style.css
β”‚   β”œβ”€β”€ js/app.js
β”‚   └── img/
β”œβ”€β”€ translations/               # i18n JSON files (it, en, de)
β”œβ”€β”€ docs/openapi.yaml           # OpenAPI 3.0 spec
β”œβ”€β”€ evershelf-kiosk/            # Android kiosk app (Kotlin)
└── evershelf-scale-gateway/    # Android BLE gateway app (Kotlin)

πŸ“„ License

MIT β€” free to use, modify, and distribute. See LICENSE.

Author: Stimpfl Daniel β€” evershelfproject@gmail.com

Clone this wiki locally