🔗 App online: https://paolobia.github.io/Barcodes/ 🏷️ Versione: 1.4
App web per gestire codici a barre: scansiona o genera un codice, associalo a un nome e a delle coordinate GPS, e ritrova rapidamente quello più vicino alla tua posizione attuale.
Realizzata come Blazor WebAssembly (.NET 8), funziona interamente lato client — tutti i dati vengono salvati nel localStorage del browser: non c'è alcun backend né database. È installabile come PWA.
- Scansione di codici a barre dalla fotocamera (via QuaggaJS)
- Generazione dell'immagine del codice a barre (via JsBarcode), con riconoscimento automatico del formato (EAN8/UPC/EAN13/ITF14/CODE128) in base alla lunghezza del codice
- Geolocalizzazione: ogni codice può essere associato a latitudine/longitudine, e la lista viene ordinata per distanza dalla posizione corrente (formula di Haversine)
- Ricerca per nome
- Esportazione/importazione dei dati in formato JSON (backup manuale)
- Installabile come PWA (icona in home, funzionamento offline via service worker)
Requisiti: .NET 8 SDK.
dotnet restore
dotnet run # serve l'app sull'URL configurato in Properties/launchSettings.json
dotnet watch run # hot-reload durante lo sviluppoBuild di produzione:
dotnet publish -c Release --nologo
# output in bin/Release/net8.0/publish/wwwrootNon esiste un progetto di test in questo repository.
- Geolocalizzazione e fotocamera richiedono un contesto sicuro (HTTPS o
localhost) per funzionare nel browser. - Il testo dell'interfaccia e i commenti nel codice sono in italiano.
- Struttura del progetto:
Pages/Home.razorcontiene la quasi totalità della logica applicativa;Services/BarcodeService.csgestisce la persistenza sulocalStorage;Services/GenerateBarcode.csgenera l'immagine del barcode via interop JS; lo scanner (QuaggaJS) e le altre funzioni di interop sono definite direttamente inwwwroot/index.html.
Il deploy su GitHub Pages è automatizzato tramite GitHub Actions (.github/workflows/deploy.yml) a ogni push su main, pubblicato su https://paolobia.github.io/Barcodes/.
Numerazione a due cifre (major.minor), aggiornata insieme a wwwroot/manifest.webmanifest e alla costante AppVersion in Pages/Home.razor.
- 1.4 (2026-08-19) — Corretto lo zoom eccessivo dello scanner (rapporto fotocamera portato da 640x120 a 4:3 ideale); il numero di versione è ora mostrato nell'header della lista al posto dell'icona decorativa; introdotto lo schema di versionamento a due cifre.