Detalles del Proyecto
- Nombre del proyecto:
facturacion-timbrado (com.alpura)
- Descripción: Arquitectura base para proyectos Spring Boot orientada al timbrado de facturación.
- Objetivo: Proveer una API REST para gestionar procesos de facturación, nómina, notas de crédito y addendas en Alpura.
- Alcance: Facturación electrónica (timbrado), addendas, validación de facturas, carga de catálogos y gestión de recibos de nómina.
Responsables
Tecnologías y Herramientas
Lenguajes y Frameworks Principales
- Lenguaje: Java 21
- Framework Principal: Spring Boot 3.4.4
- Web: Spring Web, Spring MVC
- Seguridad: Spring Security, OAuth2 Resource Server
- Documentación: SpringDoc OpenAPI 2.8.6
- Vistas: Thymeleaf
Herramientas de Construcción y Dependencias
- Build Tool: Maven (3.8+)
- Gestor de dependencias: Maven (
pom.xml)
Persistencia de Datos
- Bases de datos: H2 (Memoria, para desarrollo/pruebas), PostgreSQL (Producción)
- ORM / Mapeo: Spring Data (implícito), ModelMapper
Integraciones y Utilidades
- Mensajería: Google Cloud Pub/Sub (
spring-cloud-gcp-starter-pubsub)
- Archivos: Apache POI (Excel), JSch (SSH/SFTP), Commons IO
- Parseo/Formatos: Jackson (DataBind, XML, Afterburner)
- Criptografía: BouncyCastle (bcprov, bcpkix)
- Métricas: Micrometer Prometheus, Spring Boot Actuator
- Librerías Comunes:
back-java-lib-common-utilities, back-java-lib-model-ex, back-java-lib-common-telemetry
- Evaluador de Expresiones: exp4j
Pruebas y Calidad
- Pruebas: Spring Boot Starter Test, Mockito
- Cobertura: JaCoCo 0.8.12
- Lombok: Para reducción de código repetitivo.
Entorno y Despliegue