Skip to content

pana1990/nuxt-hexagonal-architecture-playground

Repository files navigation

🐘🎯 Arquitectura Hexagonal, DDD & CQRS en nuxt

Ejemplo de una aplicación front-end con nuxt usando los principios de DDD y CQRS

🛫 Requerimientos

🚀 Instalación

# 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

💪 Motivación

TODO

👩‍💻 Explicación del proyecto

Idea del proyecto

Es un Todo App para la gestión de tareas.

app

Estructura de carpetas

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

✅ Tareas para el futuro

  • 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.

🧑‍🤝‍🧑 Contribuir

TODO