Este proyecto es una aplicación de gestión de empleados desarrollada con una arquitectura full-stack utilizando Spring Boot para el backend y MySQL como base de datos. El objetivo principal de esta aplicación es proporcionar una interfaz sencilla y eficiente para administrar empleados dentro de una organización, permitiendo operaciones CRUD (Crear, Leer, Actualizar, Eliminar) sobre los datos de los empleados.
- Java 21
- Spring Boot
- Spring Data JPA
- Hibernate
- MySQL
- SLF4J (para logging)
- Tomcat (servidor embebido)
- React (puerto 3000)
- HTML
- CSS
- JavaScript
La estructura del backend sigue el modelo típico de capas:
- Controladores: Manejan las solicitudes HTTP y las respuestas.
- Servicios: Contienen la lógica de negocio.
- Repositorios: Interactúan con la base de datos.
El frontend está diseñado para interactuar con la API del backend a través de solicitudes HTTP y proporcionar una interfaz de usuario amigable.
-
Obtener todos los empleados
- URL:
/rh-app/empleados
- Método: GET
- Descripción: Devuelve una lista de todos los empleados.
- URL:
-
Agregar un nuevo empleado
- URL:
/rh-app/empleados
- Método: POST
- Descripción: Agrega un nuevo empleado.
- Cuerpo de la Solicitud: JSON con los detalles del empleado.
- URL:
-
Obtener empleado por ID
- URL:
/rh-app/empleados/{id}
- Método: GET
- Descripción: Devuelve los detalles de un empleado específico por ID.
- URL:
-
Actualizar un empleado
- URL:
/rh-app/empleados/{id}
- Método: PUT
- Descripción: Actualiza la información de un empleado existente.
- Cuerpo de la Solicitud: JSON con los nuevos detalles del empleado.
- URL:
-
Eliminar un empleado
- URL:
/rh-app/empleados/{id}
- Método: DELETE
- Descripción: Elimina un empleado por ID.
- Respuesta: JSON con confirmación de eliminación.
- URL:
- Java 21
- Maven
- MySQL
Configurar las credenciales de la base de datos en application.properties
:
spring.datasource.url=jdbc:mysql://localhost:3306/recursos_humanos_db?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.main.banner-mode=off
-
Clonar el repositorio:
git clone https://github.com/HinaraSM12/RecursosHumanos-Fullstack.git cd recursos-humanos-spring
-
Construir el proyecto con Maven:
mvn clean install
-
Ejecutar la aplicación:
mvn run
-
El servidor estará corriendo en
http://localhost:8080
.
-
Navegar al directorio del frontend:
cd recursos-humanos-app
-
Instalar dependencias:
npm install
-
Ejecutar la aplicación de React:
npm start
-
La aplicación frontend estará corriendo en
http://localhost:3000
.
Si deseas contribuir al proyecto, por favor sigue los siguientes pasos:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). - Realiza tus cambios y haz commits (
git commit -am 'Añadir nueva funcionalidad'
). - Haz push a la rama (
git push origin feature/nueva-funcionalidad
). - Abre un Pull Request.
Para más información, puedes contactarme en [email protected].
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE
para más detalles.