Smart Shopping
A barcode-driven household shopping system: one authoritative backend, offline-first device clients and a full hardware simulator.
the problem
A shared shopping list falls apart when several people and several devices update it at once, and some of those devices are offline.
architecture
what i built
- A modular-monolith API in Fastify and SQLite that is the single source of truth, with transactional events and per-user attribution.
- Independent clients for a phone, a handheld scanner, a base station and a printer, each with a durable offline queue.
- A browser Device Lab that simulates the hardware, so the whole system runs and is tested without any physical device.
- Unit, integration and end-to-end suites in Vitest and Playwright.