Skip to main content

01. Información General

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​

  • Organización: Alpura

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​