DDD Ligero para el Dominio de Pedidos en una FoodTech de Ciudad de México
Visión general
De qué trata este proyecto.
Conduce 2 sesiones de Event Storming con 4 personas de operaciones + 3 de ingeniería para mapear el lenguaje ubicuo y los eventos del dominio. Identifica los agregados (Pedido, Comanda, Pago) con sus invariantes (no se factura sin pago confirmado, no se cancela tras entregar). Implementa los agregados como objetos ricos en Kotlin (sealed classes para estados, factory methods, validación en construcción). Mueve la lógica de los servicios a los agregados, dejando los servicios como orquestadores delgados. Entrega el código, un glosario del lenguaje ubicuo, los diagramas de Event Storming y un memo de migración para los otros 3 servicios.
El Briefing
Lo que harás y lo que demostrarás.
Introducir DDD ligero en un servicio de pedidos con modelos anémicos, eliminando estados imposibles mediante invariantes en agregados ricos.
Earning criteria — what you'll demonstrate
- Facilitar Event Storming con un equipo mixto operaciones + ingeniería
- Modelar agregados con invariantes en el dominio en lugar de en la capa de aplicación
- Usar sealed classes / tipos de estado para hacer imposibles los estados imposibles
- Comunicar la migración a otros servicios sin imponer un Big Bang
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Backend
Eliminar estados imposibles con tipos y mover lógica al dominio es la práctica que diferencia al backend senior orientado a producto del CRUD-monkey.
Este proyecto afina
- domain-driven-design
- kotlin
- api-design
Arquitecto de Sistemas
El plan de migración a los otros servicios introduce el oficio de arquitecto: cambiar estructura del sistema sin congelar la entrega del producto.
Este proyecto afina
- domain-driven-design
- refactoring
- api-design