Sistema de Gestión de Extensiones Telefónicas Sistema backend para administración de extensiones telefónicas, usuarios y departamentos en entornos empresariales.
Creación, lectura, actualización y eliminación de extensiones
Validación de números y usuarios únicos
Estados de extensión (Activa, Inactiva, Bloqueada, Mantenimiento)
Tipos de extensión (SIP, IAX, Virtual, Fax, Conferencia)
CRUD completo de usuarios
Historial de llamadas por usuario
Relación uno-a-uno con extensiones
Autenticación JWT
Autorización por roles
Endpoints protegidos
CORS configurado
Backend: Java 17, Spring Boot 3.1.5
Base de datos: MySQL 8.0
ORM: Spring Data JPA, Hibernate
Seguridad: Spring Security, JWT
Documentación: SpringDoc OpenAPI 3
Logging: SLF4J con Log4j2
Dependencias: Lombok, MapStruct, Validation API, java-asterisk
Testing: JUnit 5, Mockito
Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo LICENSE para más detalles.
Se han añadido hooks de pre-commit y plugins Maven para formateo (spotless) y comprobación (checkstyle). A continuación las instrucciones para usarlos y probarlos.
- Activar hooks (Windows PowerShell):
# desde la raíz del repositorio
.\scripts\install-git-hooks.ps1- Activar hooks (Unix / Git Bash):
git config core.hooksPath .githooks- Probar manualmente las comprobaciones y aplicar formato:
# aplica formato y lanza checkstyle (no hace tests)
mvn -q -DskipTests=true spotless:apply checkstyle:check- Qué hace el hook de pre-commit:
- Ejecuta
spotless:applyycheckstyle:check. Sicheckstylefalla, el commit se aborta.
- Ejecuta