Start your first inventory test.
28 October 2026 · PHP/MySQL hosting · iPhone and Android browser interface
Local checks passed: 48 unit tests and 20 browser checks with simulated API responses. The actual database, scanner installation, phone cameras and photos still need hosting/device tests. Start with a new test database.
What is included
Products and produce varieties, saved barcodes and PLUs, storage locations, purchase-batch origins, add/use/move/count controls, restock rules, private photos, household accounts and activity history.
Two setup boundaries: the scanner binary needs a one-time installation; no official PLU catalogue is preloaded. Manual barcode/PLU mappings work without either download. Unknown codes never imply zero stock.
Your first steps
- Create a test subdomain or folder with HTTPS and a new empty database. Do not install over your existing website or use an unrelated database.
- Expose only the package’s
public/directory. Keepprivate/, docs, tests and backups outside every public web root. For fixed hosting roots, editpublic/_paths.phpto point to the private folder. - Copy
private/config.example.phptoprivate/config.php. Fill in your exact application URL, database connection and an original random setup key. Do not send credentials in chat. - Open
setup.phpon your application URL. Enter the setup key, review checks and create your administrator account. After success, remove publicsetup.phpand clear the setup key from config. - Sign in → More → Settings and diagnostics → Run database probe. Stop and investigate a failed probe before entering many groceries.
- Create two storage locations and one test item. Add six, confirm its full count, use one and move two. The move must not alter the household total. Repeat from a second phone.
- Install the scanner from Settings, then test both phones. Photos require PHP GD. For unfamiliar produce varieties, import an official reference CSV or register a verified local PLU mapping.
Files to read
INSTALL.md — detailed hosting setup, scanner installation and troubleshooting.
docs/phase-1-technical-design-v0.2.md — updated Phase 1 and exact foundation boundaries.
docs/first-test-checklist.md — stock arithmetic, two-phone, camera, security and backup tests.
TEST-REPORT.md — exact local results and what has not run.
docs/plu-import.md — reference import and source handling.
docs/backup-and-recovery.md — database, image and secret-key backup scope.
Core hosting checklist
| Component | Needed for |
|---|---|
| PHP 8.2+; patched 8.4/8.5 preferred | Application |
| MySQL 8.0+ or MariaDB 10.6+, InnoDB | Feature minimum only; host compatibility must be tested |
| PDO MySQL, sessions, fileinfo | Core features |
| GD; EXIF recommended | Photos and orientation |
| cURL, Phar, zlib | One-time scanner installer |
The preflight displays the actual hosting capabilities. No Node.js service, app-store installation, paid AI account or Codex runtime is required by this build.
Keep the scope honest
Scanning identifies an item; it does not measure what remains. This alpha counts whole items/packages. It does not yet recognize unlabelled vegetables from photographs, read printed PLU digits automatically, track grams remaining or plan meals. Use and count actions keep the recorded inventory current.
Your first gate is a successful protected setup and database probe. Then run the included two-phone test checklist before relying on the app daily.