Ejemplo de una aplicación front-end con nuxt usando los principios de DDD y CQRS
- Node v10.13: recomendamos usar la LTS.
- Un editor de texto, recomendamos VSCode con la extensión Vetur o WebStrom.
- Una terminal de comandos, recomendamos la terminal integrada de VSCode o la terminal del Webstorm.
- Un gestor de paquetes como Yarn o npm. Recomendamos usar yarn.
# Instalamos las dependencias
$ yarn install
# Arracna el servidor de desarrollo en modo "hot reload" en http://localhost:3000
$ yarn dev
Ahora puedes verificar que todo funciona accediendo a http://localhost:3000
TODO
Es un Todo App para la gestión de tareas.
src
├── shared // shared kernel: infraestructura y dominio común al resto de modulos de la aplación
│ ├── domain
│ └── infrastructure
└── todo // Modulo de aplicación
├── application // Dentro de esta carpeta residiran los casos de uso
│ ├── create
│ └── list
├── domain // Dentro de esta carpeta residiran todo nuestro dominio: Agregados, entidades, objetos de valor, eventos, errores
│ ├── TodoBody.ts
│ ├── TodoCreatedAt.ts
│ ├── TodoId.ts
│ ├── TodoRepository.ts
│ └── Todo.ts // El agregado del modulo
└── infrastructure // Detrno de esta carpeta residiran la infraestructura de nuestro modulo
└── InMemoryTodoRepository.ts
- Añadir tests unitarios, de integración y e2e.
- Añadir casos de uso más complejos para poder exponer de mejor forma el aporte de esta arquitectura.
- Añadir wiki explicando como pasar de un proyecto legacy a hexagonal, argumentando cada paso con sus pros y contras.
TODO