El problema: En un taller de reparación de husillos y motores, el almacén no sabe con certeza qué hay, dos técnicos pueden apartar la misma pieza y las compras llegan tarde o sobran. Cada reparación espera piezas o deja dinero parado en el estante.
La solución: Un servicio de inventario orientado a eventos que se conecta al sistema del taller por Kafka:
-Cuando se aprueba una inspección, separa automáticamente las piezas disponibles para esa orden y abre faltantes por lo que no hay. Las piezas que van a reparación no reservan stock. -Los faltantes se agrupan solos en pedidos por proveedor (abierto → enviado → recibido). -Cuando llega una compra, surte primero la orden que la pidió y después los faltantes más antiguos. -Todo se registra en un libro mayor (kárdex) inmutable. Es idempotente (un evento repetido no cuenta doble) y reconstruible: borrando la base y releyendo los eventos se obtiene el mismo saldo en las 256 piezas. -Pantalla de piso para el celular: el almacenista escanea con la cámara la etiqueta de la ubicación y la de la pieza, y retira, transfiere o cuenta en pocos toques. Cada puesto ve lo suyo: técnico, almacén, compras o jefe. -Anticipación: con la historia del taller estima cuándo cada orden llegará a ensamble y cuándo hay que pedir cada pieza según el tiempo de entrega del proveedor. Incluye la probabilidad de reemplazo por modelo. -Extras: valuación a costo promedio (MXN/USD), rotación (piezas sin movimiento, en exceso o en riesgo) y observabilidad del consumidor (lag, eventos en espera, DLQ).
Resultados:
50/50 en las pruebas de contrato. Reconstrucción con el mismo saldo. Relación automática del 94 % de las compras con el catálogo.
Retos que enfrentamos:
Garantizar que no hubiera reservas dobles con eventos concurrentes: bloqueo por fila y consumidor único. Eventos que llegan fuera de orden: se dejan en espera. Leer códigos Code 128 desde iPhone, que no trae lector nativo: usamos ZXing compilado a WebAssembly.
Reto: Roceel — Almacén inteligente para taller
Repositorio
https://github.com/Val-Bere/Almacen
Tecnologías
Python 3.12 · FastAPI · PostgreSQL 16 · Apache Kafka (Redpanda) · confluent-kafka · psycopg 3 · Docker / Docker Compose · patrón Outbox · HTML/JavaScript (sin framework) · ZXing (WebAssembly) para Code 128 · Tiger Data / TimescaleDB (analítica de consumo) · Vultr (despliegue en la nube) · Caddy (HTTPS) · Cloudflare Tunnel · GitHub
Integrantes Valery Berenice Alvarado Silva____ (coordinación y backend) Silvia Anahi Garcia Alvarez____ (backend) Ximena Abigail Martinez Zapata____ (backend) Guadalupe Arisai Sanchez Galicia ____ (base de datos) Arleth Sarahi Suarez Hernandez____ (frontend)
Log in or sign up for Devpost to join the conversation.