Skip to content

About

scanner-inventario-app

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation


Qué es

Duartec Inventario PWA es una aplicación web instalable para técnicos de campo que necesitan escanear equipos, registrar estado y exportar inventario sin depender de backend.

Está pensada para trabajar rápido en móvil:

  • escaneo de seriales y códigos con cámara
  • OCR para S/N, MAC y modelo
  • guardado local persistente
  • exportación CSV compatible con Excel
  • wrapper nativo con Capacitor para Android e iOS

Qué hace

Captura

  • Escanea QR y códigos de barras con html5-qrcode.
  • Lee seriales impresos cuando el código no ayuda.
  • Normaliza serial, MAC y texto para reducir errores de campo.

Inventario

  • Crea y edita registros de forma manual.
  • Guarda historial de movimientos por equipo.
  • Detecta duplicados por serial normalizado.
  • Filtra por estado y busca registros rápido.

Exportación

  • Genera CSV con BOM UTF-8.
  • Usa ; como separador para Excel.
  • Mantiene un formato estable para auditoría y compartición.

Offline

  • Persiste datos en localStorage.
  • Funciona sin backend.
  • Usa service worker para cache y arranque offline tras la primera carga.

Stack

  • Frontend: HTML, CSS y JavaScript nativo
  • Escaneo: html5-qrcode + OCR con tesseract.js
  • Persistencia: localStorage
  • Empaquetado nativo: Capacitor
  • Salida: CSV compatible con Excel

Primeros pasos

Requisitos

  • Node.js
  • npm

Instalar y ejecutar

npm install
npm run build:web
python3 -m http.server 4173

Luego abre http://localhost:4173.

Comandos útiles

npm run check
npm test
npm run build:web

Uso móvil

iPhone / Safari

  1. Abre la URL en Safari.
  2. Pulsa Compartir.
  3. Elige Añadir a pantalla de inicio.
  4. Concede acceso a cámara cuando se solicite.

Android / Chrome

  1. Abre la URL en Chrome.
  2. Instala la app desde el menú o el banner del navegador.
  3. Acepta permisos de cámara.

Versión nativa

El proyecto incluye wrapper Capacitor para Android e iOS.

npm run build:web
npx cap sync android
npx cap sync ios
npx cap open android
npx cap open ios

Para publicación móvil:

  • Android: bundle exec fastlane android build_release
  • iOS: bundle exec fastlane ios build_release

Formato CSV

La exportación usa este orden de columnas:

id;serial;modelo;estado;cliente;ubicacion;tecnico;fechaAlta;fechaUltimoMovimiento;observaciones;fuenteCaptura

Ejemplo de salida:

id;serial;modelo;estado;cliente;ubicacion;tecnico;fechaAlta;fechaUltimoMovimiento;observaciones;fuenteCaptura
"demo-1";"001AE8F7918F";"iPhone 13 128GB";"INSTALADO";"Hotel Costa Norte";"Lobby - Rack principal";"Luis Duarte";"2026-03-20T09:10:00.000Z";"2026-03-20T09:10:00.000Z";"Equipo operativo y entregado a recepción.";"camara"

Existe una muestra en examples/export-ejemplo.csv.


Estructura

.
├── css/
├── examples/
├── icons/
├── js/
├── vendor/
├── index.html
├── manifest.webmanifest
└── sw.js

Automatización

El repositorio incluye workflows para:

  • dependencia y seguridad
  • Snyk
  • revisión automática de PRs con IA
  • publicación nativa con Fastlane

Roadmap

  • mejorar accesibilidad y validaciones
  • pulir iconos y detalle offline
  • sincronización futura con Google Sheets

Nota

La exportación, el almacenamiento y el escaneo están optimizados para uso en campo. La experiencia depende de permisos, luz y enfoque del dispositivo.

About

scanner-inventario-app

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages