Autor: Alejandro Martínez Jimenéz
Fecha: Octubre 2025
Descripción: Aplicación para gestionar empleados, tareas, ausencias, fichajes y estadísticas de una empresa.
El objetivo de este proyecto es permitir la gestión completa del personal de una empresa, incluyendo:
- Gestión de empleados (CRUD)
- Gestión de roles y seguridad
- Asignación de tareas y seguimiento
- Registro de fichajes, ausencias y vacaciones
- Estadísticas y reportes
| Tecnología | Versión | Uso |
|---|---|---|
| Java | 21 | Lenguaje principal |
| Spring Boot | 3.4.5 | Framework backend |
| PostgreSQL | 17.1 | Base de datos |
| Thymeleaf | 3.1 | Frontend templating |
| Bootstrap | 4 | UI / Layout |
| Maven | – | Gestión de dependencias |
| JUnit, Mockito | – | Testing |
| Apache POI | 5.4.1 | Exportación a Excel |
| Spring Security | 6.4.5 | Gestión de autenticación y roles |
La aplicación sigue un patrón MVC y capas de servicio:
- Controllers: reciben las solicitudes del frontend y llaman a los servicios.
- Services: contienen la lógica de negocio.
- Repositories: interactúan con la base de datos.
- Entities: representan las tablas de la base de datos.
- Controller:
EmployeeController - Service:
EmployeeService - Repository:
EmployeeRepository - Entity:
Employee(atributos: id, nombre, email, rol…)
- Define los roles de usuario (Admin, Operario).
- Permite asignar tareas a los empleados y gestionar el seguimiento.
- Agrupación de empleados por departamento y empresa.
- Registra fichajes y control horario de los empleados.
- Gestión de ausencias, vacaciones y bajas médicas.
- Sistema: PostgreSQL
- Tablas principales:
employee,role,assignment,department,enterprise, time_registration,sick_leave,vacation,absences,commission- Las relaciones entre tablas siguen normalización básica (1:N y N:M según corresponda).
Se pueden usar los scripts SQL del proyecto para crear y poblar la base de datos con datos de prueba.
- Se utilizan JUnit 5 y Mockito para pruebas unitarias e integración.
- Tests principales:
- Servicios (lógica de negocio)
- Controladores (endpoints)
- Repositorios (consultas JPA)
- Ejecutar tests:
mvn test
## 7. Cómo ejecutar la aplicación
Clonar el repositorio:
git clone git@github.com:AlexMajiA/ControlPersonalEnterprise.git
Configurar la base de datos PostgreSQL según application.properties.
Instalar dependencias:
Detalladas en el archivo Pom.xml
mvn clean install
Ejecutar la aplicación:
mvn spring-boot:run
Abrir navegador en:
http://localhost:8083