da4bd635db
- README: remove Recent Updates section, clean roadmap (pending only), replace Screenshots with demo link, add 6 new badges (stars, last commit, contributors, discussions, CI), invite GIF contributions - CHANGELOG: translate all Italian entries to English, add v1.7.13 (DB fresh-install crash fix) - database.php: add missing 'undone' column to transactions schema; wrap ALTER TABLE calls in try/catch to prevent race-condition errors on concurrent first requests - Wiki: Android-Kiosk v1.5.0 → v1.6.0, Step 5 rewritten (BLE scan, no external APK), removed gateway troubleshooting section - Wiki: Scale-Gateway promoted to deprecated with redirect banner - Wiki: Home What's New updated to v1.7.12 / v1.7.13 - Wiki: Features.md, kiosk README Italian UI strings translated - .github: add bug_report.yml, feature_request.yml issue templates, config.yml (blank issues off, links to FAQ/Discussions/Security), PULL_REQUEST_TEMPLATE.md with checklist - .github: FUNDING.yml (Ko-fi), dependabot.yml (monthly action updates) - .github/workflows/security.yml: Trivy docker + fs scan, SARIF upload - .github/workflows/build-scale-gateway.yml: disabled (deprecated) - SECURITY.md: responsible disclosure policy, supported versions, scope - CODE_OF_CONDUCT.md: Contributor Covenant 2.1 - Settings UI: About section with version display, Report Bug button, Changelog and GitHub links; reportBugManual() + _loadAboutSection() - Translations: added 'about' key group (9 keys × 3 languages)
94 lines
3.9 KiB
Markdown
94 lines
3.9 KiB
Markdown
# 🏠 EverShelf Wiki
|
||
|
||
Welcome to the **EverShelf** project wiki — your complete reference for installation, configuration, features, and development.
|
||
|
||
---
|
||
|
||
## 🚀 Try it now
|
||
|
||
> **[▶ Live Demo](https://evershelfproject.dadaloop.it/demo)** — no installation, no login, full AI enabled
|
||
> **[🌐 Project Website](https://evershelfproject.dadaloop.it/)**
|
||
|
||
---
|
||
|
||
## 📚 Wiki Contents
|
||
|
||
| Page | Description |
|
||
|------|-------------|
|
||
| [Installation](Installation) | Docker, manual setup, HTTPS, web server config |
|
||
| [Configuration](Configuration) | `.env` reference — all options explained |
|
||
| [Features](Features) | Complete feature documentation |
|
||
| [API Reference](API-Reference) | All REST endpoints, parameters, and responses |
|
||
| [Android Kiosk](Android-Kiosk) | Tablet kiosk app setup and usage |
|
||
| [Scale Gateway](Scale-Gateway) | BLE smart scale integration |
|
||
| [Translations](Translations) | Adding and editing language files |
|
||
| [Contributing](Contributing) | Development workflow and PR process |
|
||
| [FAQ & Troubleshooting](FAQ) | 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.13 (2026-05-16)
|
||
- **Critical fix:** Fresh-install crash resolved — `transactions` schema was missing the `undone` column, causing a database failure on every new installation
|
||
- **Fix:** Race condition in DB migrations no longer causes `duplicate column name` errors on concurrent first requests
|
||
|
||
### v1.7.12 (2026-05-13)
|
||
- "Use first" banner now shows opening date and location instead of a confusing calculated expiry
|
||
- "Use All / Done" in recipes no longer deletes the inventory row — uses exact quantity instead
|
||
- Scan page fully redesigned: 2× zoom, torch, camera flip, 3 input tabs, AI Number OCR, recent products chips
|
||
- Anomaly detection: false positives eliminated (untracked direction removed, minimum 5 txn + 7-day span)
|
||
- AI price estimation for each Bring! shopping item with real-time dashboard total badge
|
||
- Kiosk v1.6.0: BLE scale gateway is now built-in — no separate APK needed
|
||
- Complete i18n: 934 keys per language
|
||
|
||
→ See the full [CHANGELOG](https://github.com/dadaloop82/EverShelf/blob/main/CHANGELOG.md)
|
||
|
||
---
|
||
|
||
## 📦 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](https://github.com/dadaloop82/EverShelf/blob/main/LICENSE).
|
||
|
||
**Author:** Stimpfl Daniel — [evershelfproject@gmail.com](mailto:evershelfproject@gmail.com)
|