Tecnologías:
- WebFlux
- Spring Security Reactive
- R2DBC PostgreSQL
- Docker
- Azure DevOps
- Zapier
- Google Chat
Este proyecto tiene como objetivo gestionar a los usuarios para sistemas de parqueaderos. Hace uso de tecnologías reactivas para garantizar un rendimiento eficiente y escalabilidad.
- Construir la imagen del contenedor Docker:
docker build --tag=nombre_imagen:version -f deployment/Dockerfile .
- Ejecutar el contenedor:
docker run nombre_imagen:version
Este proyecto utiliza Azure DevOps para administrar ramas y realizar el despliegue a través de un pipeline. Asegúrate de tener configurado tu entorno de Azure DevOps correctamente.
Integración con Zapier y Google Chat El proyecto cuenta con integraciones para notificar resultados de compilación y despliegue.
Empezaremos por explicar los diferentes componentes del proyectos y partiremos de los componentes externos, continuando con los componentes core de negocio (dominio) y por �ltimo el inicio y configuraci�n de la aplicaci�n.
Lee el art�culo Clean Architecture � Aislando los detalles
Es el m�dulo m�s interno de la arquitectura, pertenece a la capa del dominio y encapsula la l�gica y reglas del negocio mediante modelos y entidades del dominio.
Este m�dulo gradle perteneciente a la capa del dominio, implementa los casos de uso del sistema, define l�gica de aplicaci�n y reacciona a las invocaciones desde el m�dulo de entry points, orquestando los flujos hacia el m�dulo de entities.
En el apartado de helpers tendremos utilidades generales para los Driven Adapters y Entry Points.
Estas utilidades no est�n arraigadas a objetos concretos, se realiza el uso de generics para modelar comportamientos gen�ricos de los diferentes objetos de persistencia que puedan existir, este tipo de implementaciones se realizan basadas en el patr�n de dise�o Unit of Work y Repository
Estas clases no puede existir solas y debe heredarse su compartimiento en los Driven Adapters
Los driven adapter representan implementaciones externas a nuestro sistema, como lo son conexiones a servicios rest, soap, bases de datos, lectura de archivos planos, y en concreto cualquier origen y fuente de datos con la que debamos interactuar.
Los entry points representan los puntos de entrada de la aplicaci�n o el inicio de los flujos de negocio.
Este m�dulo es el m�s externo de la arquitectura, es el encargado de ensamblar los distintos m�dulos, resolver las dependencias y crear los beans de los casos de use (UseCases) de forma autom�tica, inyectando en �stos instancias concretas de las dependencias declaradas. Adem�s inicia la aplicaci�n (es el �nico m�dulo del proyecto donde encontraremos la funci�n �public static void main(String[] args)�.
Los beans de los casos de uso se disponibilizan automaticamente gracias a un '@ComponentScan' ubicado en esta capa.