El Challenge se enfoca en el desarrollo del sistema BackEnd para un sitio universitario. Se trabajaron en las siguientes áreas clave:
Se implementó un sistema de autenticación y autorización básica basada en credenciales. Esto significa que los usuarios deben iniciar sesión con sus credenciales para acceder a las funcionalidades del sistema. Se utilizaron técnicas de encriptación para almacenar las contraseñas de forma segura. Además, se definieron roles de usuario (administrador, profesor, alumno) para limitar el acceso a diferentes partes del sistema.
Se utilizaron DTOs para definir objetos de transferencia de datos. Estos objetos permiten transferir datos entre el BackEnd y el FrontEnd de manera eficiente y estructurada.
Se utilizó una base de datos MySQL para almacenar y gestionar los datos del sistema. Se configuró la conexión a la base de datos y se utilizaron anotaciones JPA para mapear las entidades de Java a tablas de la base de datos.
Se implementaron operaciones CRUD completas para las entidades principales del sistema, como usuarios (profesores y alumnos), cursos y categorías. Esto permite crear, leer, actualizar y eliminar registros en la base de datos de manera eficiente.
Se siguió el patrón de diseño Modelo-Vista-Controlador (MVC) para organizar y estructurar el código.
Se adoptó una estrategia rigurosa de pruebas unitarias. Utilizando Mockito y JUnit Jupiter, se evaluó individualmente cada componente del código para garantizar su calidad y robustez. Las pruebas abarcaron casos como la creación de usuarios y la autenticación, permitiendo la detección temprana de errores.
- Java: Lenguaje de programación principal utilizado en el desarrollo del BackEnd.
- Spring Boot: Framework de desarrollo de aplicaciones Java que simplifica la creación de aplicaciones basadas en Spring.
- MySQL: Sistema de gestión de bases de datos relacional utilizado para almacenar los datos del sistema.
- JPA (Java Persistence API): API de persistencia de Java utilizada para mapear objetos Java a entidades de base de datos.
- Thymeleaf: Motor de plantillas utilizado para generar vistas dinámicas en el FrontEnd.
Para configurar y ejecutar la aplicación:
- Clona el repositorio en tu máquina local.
- Configura la base de datos según la base de datos de tu elección.
- Actualiza la configuración de la base de datos en el archivo de configuración de la aplicación (
application.properties
oapplication.yml
). - Ejecuta la aplicación utilizando tu IDE preferido o mediante la línea de comandos.
- Realiza las solicitudes HTTP correspondientes utilizando herramientas como Postman o cURL.