El foro de Alura proporciona a los alumnos un espacio dedicado para compartir sus preguntas sobre cursos específicos. En esta ocasión, se plantea una solución a este challenge que permite almacenar de manera correcta la información relacionada con los tópicos, respuestas, usuarios y cursos.
Utilizando Spring Boot, se diseña una API REST que maneja las operaciones de creación, lectura, actualización y eliminación de los diferentes elementos del foro. Se implementa un sistema de almacenamiento de datos que garantiza la integridad y la relación adecuada entre los tópicos, respuestas y usuarios
- Contexto del Challenge
- Requerimientos del Challenge
- Funcionalidades
- Demo
- Instalación
- Tecnologías usadas
- Insignia Obtenida
- License
- Autor
El foro de Alura es un espacio colaborativo donde los alumnos comparten preguntas sobre cursos específicos. A nivel técnico, surge la curiosidad sobre cómo funciona en términos de almacenamiento y relación de datos entre tópicos, respuestas y usuarios. Nuestro desafío será crear una API REST con Spring para replicar este proceso en el backend.
Nuestra API va a centrarse específicamente en los tópicos, y debe permitir a los usuarios:
- Crear un nuevo tópico
- Mostrar todos los tópicos creados
- Mostrar un tópico específico
- Actualizar un tópico
- Eliminar un tópico
- API con rutas implementadas siguiendo las mejores prácticas del modelo REST;
- Validaciones realizadas según reglas de negócio;
- Migración de una base de datos para la persistencia de la información;
- Efectuar cambios en la base de datos para almacenar datos de autenticación de los usuarios
- Desarrollar formas de autenticación con Spring Security
- Uso del token JWT
- Documentación con Swagger
-
Clonar el repositorio o descargar el proyecto en formato zip
-
Una vez tengas el proyecto en tu maquina local, puedes buscar el archivo pom.xml y abrirlo con tu
IDE
preferido o puedes abrirlo directamente desde tuIDE
en archivo -> importar proyecto o una opción similar y seleccionar el archivo zip descargado. -
Antes de ejecutar la aplicación, asegúrate de tener una base de datos configurada. En este proyecto, se utiliza
Flyway
para gestionar las migraciones de la base de datos. Asegúrate de tener una instancia de la base de datos en ejecución y configure los parámetros de conexión en el archivoapplication.properties
.- spring.datasource.url
- spring.datasource.username
- spring.datasource.password
-
Una vez tengas la base de datos configurada, compile, ejecute el proyecto y pruebe la app.
Principalmente se desarrollo dentro del IDE de Intellij IDEA, empleando el lenguaje Java 17 con Spring Boot 3.0
- JWT / Spring Security
- Flyway / JPA
- Swagger
Insignia obtenida por la finalización del proyecto
Este proyecto está licenciado bajo la Licencia MIT
Creado con 💙 por Giovanni Scarpetta