Plataforma·MMXXIV — MMXXV
Saafi
Saber dónde está cada equipo, y por qué
- Año
- MMXXIV — MMXXV
- Rol
- Ingeniería full-stack
- En línea
- Implementación privada
I·Contexto
Flotas de equipos repartidas en sucursales se llevaban en hojas de cálculo. Nadie sabía qué equipo estaba dónde, cuánto valía ya, ni quién lo había movido.
II·Lo que hice
- I
Modelé la red completa: región, sector, zona y, al final, tienda o almacén.
- II
Convertí los traslados en un flujo formal con aprobación y tres firmas.
- III
Dos interfaces sobre el mismo backend: un panel administrativo en Filament y un portal en Inertia y Vue.
Cómo está hecho
- Ciclo de vida
- Cada equipo pasa por nuevo, activo, obsoleto y desechado como una máquina de estados; las transiciones inválidas no existen. La depreciación se calcula del costo original y la vida útil.
- Traslados
- Reubicación, garantía o renovación. Pendiente, en curso, aprobado o rechazado, completado o cancelado. Firman quien transporta, quien autoriza y el gerente de la tienda.
- Ubicación polimórfica
- Un equipo puede vivir en una tienda o en un almacén con la misma relación, así un traslado entre ambos es una sola operación.
- Bitácora
- Un traslado se procesa en una cola y agrupa todos sus cambios en un solo lote de la bitácora. Los borrados son lógicos: la historia no se pierde.
- Acceso
- Roles y permisos finos, segundo factor, inicio de sesión con Microsoft y Zoho, y una API con tokens y documentación generada.
- Paquetes propios
- Escribí los campos y herramientas que Filament no traía: lectura de códigos de barras, importación de Excel, línea de tiempo de actividad, filtros y metadatos.
III·Lo que aprendí
“Rastrear activos es rastrear responsabilidades.”
Herramientas
Laravel 12·
Siguiente obra
Meal Planner
Planea la semana y la lista del súper se escribe sola