10 Commits
Author SHA1 Message Date
fhanyuh d3d519dd04 docs(readme): add Prima Fresh Mart logo to the header
Uses the logo already committed at assets/logo.png. Also recolours the accuracy
badge to the brand green so the header reads as one block.
2026-08-27 15:24:45 +07:00
fhanyuh 079a9f7657 docs(readme): add download buttons for the handover documents
Three buttons in the header for the PDFs, plus a table in the Documentation
section pairing each PDF with its editable LibreOffice source.

Links are relative with ?raw=1 so they download directly instead of opening
GitHub's viewer, and keep working if the repository is moved or renamed.
2026-08-27 14:51:50 +07:00
fhanyuh 2e1cefe35d docs(readme): restructure for clarity
Adds a badge/nav header, the four architecture and sequence diagrams from the
handover set, a port table, a screenshot gallery, collapsible gotchas and
troubleshooting sections, and a documentation index.

Corrects two inaccuracies: endpoint resolution tries LAN first and ngrok second
(not the reverse), and the poll loop runs ~4.3 minutes (not 2). Documents three
security facts that were previously unrecorded: seeded passwords reset on every
backend restart, JWT_SECRET falls back to a constant in source, and the LAN leg
is plain HTTP.
2026-08-27 14:46:34 +07:00
Rafhan Mazaya FathurrahmanandClaude Sonnet 5 be6cac1364 docs: correct app user role - store staff, not delivery drivers
The Flutter app is used by Prima Fresh Mart store staff (petugas toko) on
duty at each store to receive/confirm deliveries and log products - not by
the delivery drivers themselves. "Driver" only appears correctly now as a
data field on the DO document (who drove the delivery), never as the app's
operator. Fixes wording across README.md, CLAUDE.md, and
screenshots/v2/WORKFLOW.md; also corrects CLAUDE.md's stale "up to 2 min"
poll-timing note to match the real ~4.3min/130-retry value.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JSgYVUWJTGMk7SZqqHH8xy
2026-07-11 07:07:03 +07:00
Rafhan Mazaya FathurrahmanandClaude Sonnet 5 e70ad37e6d docs(readme): fix stale auth/reliability claims, link app walkthrough
- Auth section described a hardcoded admin/password stub; it's now real
  JWT + bcrypt on /api/v1/* (verified against the actual route handlers).
- Known Limitations listed the pending-queue and non-transactional item
  writes as still-open bugs; both were fixed 2026-07-08 - marked resolved.
- Corrected the poll-loop timing (2s x 130 retries = ~4.3min, not "2 min").
- Noted the confirmation-gate step now in the PUT flow, and that Product
  Scan classification is DINOv2-primary (YOLO fallback), single-pass at
  upload time - not the separate LAN-dependent call it used to be.
- Linked screenshots/v2/WORKFLOW.md + the new slide deck as the visual
  app walkthrough reference.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JSgYVUWJTGMk7SZqqHH8xy
2026-07-11 06:57:12 +07:00
Rafhan Mazaya Fathurrahman 577be04308 feat(app): implement Product Scan review flow, dynamic batch expiry picker, custom PDFs, PO relationships, and aligned card layouts 2026-07-09 12:36:06 +07:00
Rafhan Mazaya FathurrahmanandClaude Sonnet 5 3df9f6ec5d Add OCR Accuracy section to README with field-level breakdown
Documents the 89.4% overall accuracy (up from 82.2% baseline, 95% target),
grounded in the actual logged run in accuracy_history.jsonl rather than a
vague claim, plus which fields the sanitize/triple-check layer rescues over
raw regex. Notes that current gaps are partly a photo-capture SOP floor
(DO paper photographed on top of other documents confuses auto-deskew),
not just a parsing/OCR ceiling.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eRAsLqN9Sg1b9YPz22Lxz
2026-07-05 00:35:16 +07:00
Rafhan Mazaya FathurrahmanandClaude Sonnet 5 1599eb57d1 Rewrite README with accurate architecture, setup, and install caveats
Replaces stale setup instructions (single hardcoded API URL, old migration
story) with the dual-mode ngrok/LAN config, the demo/production compose
override, and a "what to consider" section grounded in real issues hit this
session: the duplicate backend/docker-compose.yml project-name collision,
store_master shipping unseeded, and the debug-signed APK.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eRAsLqN9Sg1b9YPz22Lxz
2026-07-05 00:16:42 +07:00
Rafhan Mazaya Fathurrahman 54b46fc35f docs: rewrite README with backend consolidation and how-to-run guide 2026-06-30 21:11:17 +07:00
Rafhan Mazaya Fathurrahman ff3753a745 feat: consolidate backend and docker-compose setup 2026-06-30 21:09:08 +07:00