36d2328eb4
README: - Added prominent live demo banner at the top with links to https://evershelfproject.dadaloop.it/demo and project website Wiki (docs/wiki/): - Home.md — overview, table of contents, what's new - Installation.md — Docker, Apache, Nginx, HTTPS, cron, backup - Configuration.md — full .env reference, settings UI, rate limits - Features.md — complete feature documentation - API-Reference.md — all REST endpoints with params/responses - Android-Kiosk.md — setup wizard, permissions, troubleshooting - Scale-Gateway.md — BLE protocol, setup, troubleshooting - Translations.md — how to add/edit language files - Contributing.md — dev workflow, branch strategy, CI, code style - FAQ.md — common issues and solutions
3.5 KiB
3.5 KiB
🏠 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