Este proyecto como challenge durante el desarrollo del curso de formación Java del programa Oracle Next Education ONE, en particular la rama de Back End.
Crearemos una API REST usando Spring boot, nuestra API estará compuesta por tópicos sobre un curso específico, estos tópicos, así como las respuestas a estos solo podrán ser creados por usuarios registrados.
Nuestra API va a centrarse específicamente en los tópicos, y debe permitir a los usuarios:
-
Crear un nuevo registro
-
Mostrar todos registros
-
Mostrar un registro específico
-
Actualizar un registro
-
Eliminar un registro
Se realizó en dos Sprints:
-
Sprint 01: Se implementó el CRUD del Foro
-
Se creó el modelo y las funcionalidades escenciales de la API
-
API con rutas implementadas siguiendo las mejores prácticas del modelo REST
-
Validaciones realizadas según reglas de negocio
-
Implementación de una base de datos para la persistencia de la información
-
-
Sprint 02: En este sprint, se implementó un mecanismo de autenticación en la API, para que solo los usuarios autenticados puedan interactuar con ella.
-
Efectuar cambios en la base de datos para almacenar datos de autenticación de los usuarios
-
Insertar maneras de autenticación con Spring Security
-
Uso del token JWT
-
Documentación con Swagger
-
Foro-Alura consta de cuatro entidades (Usuario, Curso, Topico, Respuesta) en las cuales podemos realizar acciones CRUD, para esto contaremos con endpoints específicos que se encargaran de registrar las informaciones requeridas o simplemente ejecutar la acción necesaria, para una mejor comprensión se hace uso de Swagger para documentar la API.
Empezando
- Dar inicio al servidor de Spring boot.
- Ingresar en http://localhost:8085/doc/swagger-ui/index.html#/
- Abrir autenticacion-controller y generar el token para autenticarse ingresando usuario y contraseña como se muestra a continuación.
- El CRUD de usuarios está en desarollo, de manera que el unico usuario disponible es nombre: pablo contraseña: pablo_contrasena
{
"nombre": "pablo",
"contrasena": "pablo_contrasena"
}
- Buscar el botón authorize en la esquina superior derecha de la página e ingresar el token generado en autenticacion-controller.
- Una vez autenticado podras usar cualquiera de los endpoints generados.
JDK 17.0.6 | NetBeans IDE 14 | NB SpringBoot |
---|---|---|
MySQL 8.0.32 | Swagger | Insomnia |
Foro-Alura esta desarrollado en java implementando Spring Boot.
Para correr Foro-Alura en tu máquina local:
-
Determina donde quieres alojar el proyecto y clonalo en la ubicacion escojida:
-
Con el IDE de tu preferencia procede a abrir el proyecto y ejecutarlo.
- CRUD Usuarios
- CRUD Respuestas