El núcleo del proyecto se enfoca en la gestión de licencias de conducir, permitiendo:
Emisión de nuevas licencias de forma eficiente. Validación de vigencia de licencias para garantizar su validez legal. Actualización parcial de datos de licencias para mantener la información actualizada. Eliminación lógica de licencias vencidas para mantener la integridad de los datos. Auditoría asíncrona de acciones de clientes y usuarios, mejorando el rendimiento. Control de roles y permisos para garantizar seguridad y cumplimiento normativo.
- Java 21 o superior
- Spring Boot 3.3.2
- Maven 3.x o superior
- ORACLE DB
- MONGO DB
- Se debe crear un esquema mitocode al crear las tablas core en oracle.
- El proyecto incluye el mantenimiento CRUD para tres tablas principales, utilizando Oracle como base de datos relacional
- MongoDB se utiliza para la auditoría del sistema, donde se registran los eventos y cambios realizados.
- MongoDB Para el manejo de usuarios y autenticación, se utiliza JWT (JSON Web Token), garantizando la seguridad en el acceso a los servicios.
- MongoDB se usa para implementar el patrón CQRS (Command Query Responsibility Segregation) para separar las responsabilidades de lectura y escritura, mejorando la escalabilidad del sistema.
Nota: Al utilizar JPA, no es necesario crear manualmente las tablas en la base de datos. Simplemente al levantar los servicios, Hibernate se encarga automáticamente de generar las tablas correspondientes según las entidades definidas en el proyecto.
Para que se inserte en auditoria se debe levantar el servicio de Kafka ya que el componente de Auditoria realiza los inserts.
MICROSERVICES.postman_collection.json
- Licencia: Contiene información sobre las licencias emitidas, como el número de licencia, fechas de emisión y vencimiento, y su estado.
- Titular: Relacionado con la tabla de Licencia, almacena información del titular de la licencia, como su número de documento, nombres, apellidos y dirección.
- TipoLicencia: Relacionada también con la tabla de Licencia, describe la categoría y restricciones del tipo de licencia.
- La conf. se mantiene a la realizada en el curso manteniendo los puertos.