Universidad Nacional — Facultad de Ciencias Exactas y Naturales — Escuela de Informática
Curso: EIF401 Programación IV (2026-I)
Este proyecto es una aplicación web de "Bolsa de Empleo" desarrollada con Spring Boot. Permite a las empresas publicar ofertas de trabajo y a los solicitantes (oferentes) buscarlas y aplicar a ellas.
- David Gonzalez Cordoba -- 208540087
- Christopher Rojas Montero -- 118960140
- Liseth Vallejos Gonzales -- 208390122
- Tecnologías Utilizadas
- Requisitos
- Configuración de la Base de Datos
- Cómo Ejecutar
- Usuarios de Prueba
- Funcionalidades Principales
- Estructura del Proyecto
- Licencia
- Framework: Spring Boot
- Lenguaje: Java 17
- Base de Datos: MySQL
- Motor de Plantillas: Thymeleaf
- Persistencia de Datos: Spring Data JPA
- Seguridad: Spring Security
- Migraciones de BD: Flyway
- Generación de Documentos: OpenPDF
- Gestión de Dependencias: Maven
- Java JDK 17 o superior
- Apache Maven 3.6+
- MySQL 8.0 o superior
- Un IDE para Java (ej. IntelliJ IDEA, Eclipse, VS Code)
- Verificar Script: El script
bolsa_empleo_setup.sqlcrea la base de datosjavamvcy la puebla con tablas y datos de prueba. - Ejecutar Script: Antes de iniciar la aplicación, ejecuta el script en tu instancia de MySQL. Esto asegurará que la estructura y los datos de prueba existan.
# Desde la línea de comandos mysql -u root -p < bolsa_empleo_setup.sql
- Configurar
application.properties: Asegúrate de que el ficherosrc/main/resources/application.propertiesapunte a la base de datos correcta (javamvc) y use las credenciales adecuadas para tu entorno local.spring.datasource.url=jdbc:mysql://localhost:3306/javamvc spring.datasource.username=root spring.datasource.password=your_mysql_password
- Clona el repositorio.
- Asegúrate de haber ejecutado el script
bolsa_empleo_setup.sqlen tu MySQL. - Verifica que la configuración en
application.propertiessea correcta. - Ejecuta la aplicación usando el plugin de Maven para Spring Boot:
mvn spring-boot:run
- La aplicación estará disponible en
http://localhost:8080.
El script bolsa_empleo_setup.sql crea los siguientes usuarios. La contraseña para todos es Clave123.
| Rol | Correo (Usuario) | Contraseña |
|---|---|---|
| Administrador | admin.test@demo.com |
123 |
| Empresa | empresa.test@demo.com |
123 |
| Oferente | oferente.test@demo.com |
123 |
Nota Importante sobre el CV: El script de base de datos asigna una ruta de CV (/uploads/cv/ana-prueba.pdf) al usuario oferente.test@demo.com. Sin embargo, la aplicación espera que el archivo físico exista en el sistema de ficheros del servidor. Para que la funcionalidad de descarga de CV funcione correctamente, debes iniciar sesión como el oferente y subir un archivo PDF, que será guardado por la aplicación en la ubicación correcta.
- Gestión de Usuarios: Registro y autenticación con roles diferenciados (ADMIN, EMPRESA, OFERENTE).
- Seguridad: Rutas protegidas y gestión de sesiones con Spring Security.
- CRUD de Ofertas de Trabajo: Las empresas pueden crear, editar, y eliminar sus ofertas de empleo.
- Subida de CV: Los oferentes pueden subir su currículum en formato PDF.
- Visualización de CV: Las empresas pueden ver los CV de los oferentes que aplican a sus ofertas.
- Aplicar a Ofertas: Los oferentes pueden buscar y aplicar a las ofertas de trabajo disponibles.
- Jerarquía de Habilidades: El sistema maneja una jerarquía de características y habilidades.
Proyecto-1-Progra-4/
├── .mvn/ # Wrapper de Maven
├── src/
│ ├── main/
│ │ ├── java/ # Código fuente de la aplicación Spring Boot
│ │ └── resources/
│ │ ├── db/
│ │ │ └── migration/ # Scripts de migración de Flyway
│ │ ├── static/ # Archivos estáticos (CSS, JS, imágenes)
│ │ ├── templates/ # Plantillas de Thymeleaf
│ │ └── application.properties # Fichero de configuración de Spring
│ └── test/
│ └── java/ # Pruebas unitarias y de integración
├── bolsa_empleo_setup.sql # Script de configuración inicial de la BD
├── pom.xml # Fichero de configuración de Maven
└── README.md
Este proyecto está bajo la Licencia MIT.