JAN Sync

2026 · SolidJS, TypeScript, Tailwind CSS, zxing-wasm, bwip-js

小売の棚前作業を想定した、JANコードのスキャン・整理・出力を行うオフライン対応PWA。

特徴

  1. 01

    棚前でJANコードを確認して別のメモへ転記する手間や、同じ商品を連続して読み取るたびに手で数え直す手間をなくし、専用端末やバックエンドなしにスマートフォンだけで作業を始められるようにする。

  2. 02

    担当する売場での棚前作業を想定して個人開発したPWA。zxing-wasmでEAN-8 / EAN-13を読み取り、同一JANの連続読取りを行として増やさず個数へ加算する棚卸しモードを持つ。読み取ったデータは端末内のIndexedDBに保存し、外部サーバーへは送信しない。検索結果はCSV / TSV(UTF-8 BOM付き)で書き出せ、JANの先頭0が表計算ソフトの自動変換で失われにくい形式にしている。bwip-jsで手入力・履歴のJANをCanvas上にまとめて表示するバーコード生成機能も持つ。vite-plugin-pwaとWorkboxでアプリシェルをキャッシュし、初回アクセス後はオフラインでも動作する。

用語

PWA
Progressive Web Appの略。ブラウザで動きながらホーム画面への追加やオフライン動作など、ネイティブアプリに近い体験を提供できるWebアプリ。
IndexedDB
ブラウザに内蔵された、構造化データを保存できるローカルデータベース。ネットワークなしでも大量のデータを保存・検索できる。
EAN-8 / EAN-13
JANコード(日本の商品識別コード)が国際的に使われる際の呼び名。8桁と13桁の2種類があり、どちらもバーコードとして印刷される。