Scanapp
Scan EAN-13 barcodes with the phone camera, build orders against NopCommerce.
Next.js 15 mobile-first warehouse and sales tool for scanning EAN-13 barcodes with a device camera, resolving products against NopCommerce, and building a customer-specific basket.
Collaborative project with a senior developer/colleague. My verified contribution covers the initial scaffold, Supabase auth, dashboard shells, barcode scanning, scanner/order state, NopCommerce product lookup, and client selection. later order placement and test infrastructure were added after handoff.
What was getting in the way.
Field agents needed a faster way to build customer orders while moving through warehouses, stock rooms, or customer locations. The existing process was slow enough that the useful product shape became clear: customer first, camera first, quick product feedback, and mínimal friction between scans.
How I built around it.
We consciously chose a PWA to move quickly while still giving field agents a mobile-first, installable experience with browser camera access. I built the scanner around ZXing and the browser camera APIs, then added audio and color-coded feedback, scan cooldowns, GTIN deduplication, multi-EAN product matching, pending-lookup guards, and a reducer-backed basket. Product lookup runs through authenticated server actions that resolve per-tenant NopCommerce credentials after Supabase login.
Barcode Scanner
Customer Selection
Product Basket
Order History
Order Confirmation
Order Detail