Caso de estudio 06
Ledger de distribución regional de tarjetas
CENEPOL C.A. · 01/2016 – 09/2016 · Desarrollador full stack
Un sistema administrativo para la distribución regional de tarjetas telefónicas: modelado, ventas y facturación, desplegado como app de escritorio Electron y como cliente web en la intranet de un revendedor.
- Forma
- Electron + web
- Almacén
- MongoDB
- Límite
- Intranet del revendedor
Problema
La distribución seguía viviendo en hojas de cálculo y libros de mostrador. Los revendedores no podían ver stock, ventas y facturación como un solo registro. Una herramienta de escritorio que ignorara la intranet, o una herramienta web que ignorara el escritorio, dejaría la mitad de la operación en papel.
Restricciones
El sistema tenía que correr dentro de la intranet de un revendedor, no en la internet pública. Escritorio y web tenían que compartir un modelo. Facturación y stock tenían que seguir consistentes cuando dos empleados actuaban a la vez. Este texto no describe al operador, el catálogo de denominaciones ni ningún registro de producción.
Arquitectura
Un solo modelo de dominio cubría tarjetas, revendedores, ventas y facturación. MongoDB almacenaba los documentos. Un shell Electron envolvía la misma interfaz usada en el navegador para que un escritorio sin un navegador fiable siguiera teniendo el ledger. El despliegue web se sentaba en la intranet; la autenticación se quedaba dentro de ese límite. Los tests corrían contra el entorno del revendedor, no contra un sitio público de staging ficticio.
Rol
Diseñé el modelo de dominio, publiqué la interfaz y me encargué de los flujos de ventas y facturación. Empaqueté Electron y el despliegue web para que la intranet y el escritorio corrieran el mismo ledger.
Resultados
- Stock, ventas y facturación quedaron en un solo registro, en lugar de en libros separados.
- Los clientes de escritorio y web compartían el modelo, así que el escritorio de un empleado y un navegador no divergían.
- El despliegue se quedó en la intranet; el ledger no necesitaba una superficie pública.
Stack
- Electron
- MongoDB
- JavaScript
- Desktop
- Intranet
