Inventario de TI
Controla equipos, componentes y piezas sueltas, y registra cada movimiento con solo escanear un código: con un lector USB especializado o con la cámara del móvil.

Lo que hace
Lector USB especializado
Lee códigos QR y de barras (EAN-13, Code 128, Code 39, UPC-A, EAN-8) con un lector USB dedicado. El servidor detecta el dispositivo en Linux por evdev y emite cada lectura en tiempo real por WebSocket, sin que ningún campo de texto tenga el foco.
Tres formas de escanear
Además del lector especializado, funciona como teclado (modo wedge, con análisis de la velocidad de las teclas) y con la cámara del móvil. La búsqueda resuelve etiquetas, códigos de activo, números de serie, cajas de piezas y frascos de tinta.
Etiquetas QR imprimibles
Genera un lote de etiquetas con UUID, las exporta a PDF listas para imprimir (QR de 21 mm) y las asocia a un equipo o a una caja de piezas.
Conteo de piezas con IA local
Cuenta las piezas de una caja a partir de una foto: con un modelo que corre en el propio navegador o con un modelo de visión local (Ollama). Una persona confirma el resultado y se guarda lo detectado frente a lo confirmado.
Evidencia cifrada
Las fotos de evidencia se guardan cifradas con AES-256-GCM y solo se descifran en el servidor.
Multi-sede y trazabilidad
Nueve estados, componentes dentro de equipos (por ejemplo, un ventilador en un PC), historial de movimientos, mantenimientos, niveles de tinta y un libro de stock para piezas a granel.
Cómo está hecho
Un único binario de Go sirve la API y el frontend estático (Astro con React y Tailwind) en un solo puerto, sin servidor de desarrollo en producción. Los datos viven en SQLite y el esquema está preparado para migrar a PostgreSQL. Las rutas del escáner exigen autenticación por token y el WebSocket se autentica con un primer mensaje, sin exponer el token en la URL.
Backend
Go con chi, SQLite, 18 tablas con migraciones idempotentes y más de 60 pruebas automáticas.
Frontend
Astro 7, React, Tailwind, html5-qrcode y pdf-lib para las etiquetas.
Hardware
Lector USB detectado con udev y evdev; regla udev incluida en el repositorio.
Móvil
Botones táctiles de 44 px, captura de fotos con la cámara y escaneo por vídeo.
Código fuente
El proyecto es de código abierto. Revisa la documentación técnica y las instrucciones de instalación.
Ver en GitHub