Este es el backend del sistema de Gestión Documental para la UNAD Guaviare. Está desarrollado en Java utilizando el framework Spring Boot.
- Java: 14 (Se recomienda actualizar a 17+ LTS)
- Spring Boot: 2.7.15
- Spring Data JPA: Para la persistencia de datos.
- MySQL: Base de datos relacional.
- Apache POI: Para la generación y lectura de reportes en Excel.
- Java Development Kit (JDK) 14 o superior.
- Maven 3.6+
- MySQL Server (versión 8.x recomendada).
- Renombra o crea tu archivo de configuración de entorno, o modifica el archivo
src/main/resources/application.propertiescon tus credenciales locales:
spring.datasource.url=jdbc:mysql://localhost:3306/gdocs_bd?useSSL=false&serverTimeZone=America/Bogota
spring.datasource.username=tu_usuario
spring.datasource.password=tu_contraseña- Asegúrate de tener una base de datos creada en MySQL llamada
gdocs_bd.
Warning
Por seguridad, nunca subas el archivo application.properties con contraseñas reales al repositorio remoto. Utiliza variables de entorno o un archivo .env local.
Puedes ejecutar la aplicación localmente usando Maven:
# Navegar al directorio del backend
cd d:/trabajos-dev/unad/sdocumentos/back-end/gestiondocs
# Limpiar y compilar el proyecto
mvn clean install
# Ejecutar la aplicación Spring Boot
mvn spring-boot:runLa aplicación se levantará por defecto en el puerto 8080 (o el puerto definido en tus properties).
El proyecto sigue una arquitectura multicapa estándar de Spring Boot:
controller: Expone los endpoints REST para la comunicación con el frontend (Angular).service: Contiene toda la lógica de negocio y generación de reportes (ej. Excel).repository: Interfaces que extienden de JpaRepository para las consultas a la base de datos.entity: Clases modelo mapeadas a las tablas de la base de datos.models: DTOs o clases de apoyo (ej. ReporteInventario).
- Implementar Spring Security con JWT para proteger los endpoints.
- Extraer la lógica de Apache POI (generación de Excel) de los controladores hacia servicios.
- Migrar el control de versión de la base de datos de
ddl-autoa Flyway o Liquibase.