Este proyecto fue desarrollado en Java con el propósito de crear una API REST funcional para un foro de discusiones, el Foro Alura, siendo el cuarto y último Challenge de Oracle Next Education. Éste incluye funcionalidades para moderadores, usuarios, cursos, temas y respuestas. Para lograr esto, se implementó un sistema CRUD que permite la manipulación de datos a través de operaciones POST, GET, PUT y DELETE.
La aplicación se construyó utilizando Spring Boot y sus dependencias, empleando Spring Initializr como herramienta de inicio. Se conecta a una base de datos MySQL, y las migraciones se gestionan de manera efectiva mediante Flyway. Para garantizar la seguridad y autorización de las operaciones, se implementa un sistema de autenticación basado en JSON Web Tokens (JWT), utilizando Bearer tokens.
Además, el proyecto se encarga de validar los datos manipulados a través de filter-chains y manejo de excepciones, asegurando la integridad de la información y el correcto funcionamiento del foro de discusiones.
I 1. Clonar el proyecto, empieza por clonar el repositorio en tu máquina local usando el siguiente comando:
git clone https://github.com/DanielHerrer/Challenge-Oracle-ONE-G5-ForoAlura
2. Importar el proyecto, abre el IDE y selecciona "File" -> "Open" para abrir el proyecto clonado.
3. Encender el servidor, asegúrate de que tu servidor de base de datos esté activo. Dependiendo de tus preferencias y configuración, puedes utilizar SQL Server o XAMPP (enciende MySQL y apaga Tomcat).
4. Ejecuta la consulta CREATE para la creacion del esquema de la base de datos, desde el archivo
[ scripts_sql_foro_alura.sql ].
5. Configurar la Base de Datos, asegúrate de configurar las credenciales de conexión en el archivo
[ api/src/main/resources/application.yml ].
6. Ejecutar la Aplicación, ejecuta la aplicación Spring desde el main
[ api/src/main/java/alura/foro/api/ApiApplication.java ].
7. Ejecuta la consulta INSERT para la inserción del moderador con su clave previamente encriptada, desde el archivo
[ scripts_sql_foro_alura.sql ].
8. Acceder a la API, Una vez que la aplicación esté en funcionamiento, puedes interactuar con la API REST de las siguientes maneras:
- Utilizando una herramienta de cliente HTTP (como Insomnia o Postman) para realizar solicitudes a la API. Utiliza la dirección http://localhost:8080/ (o la URL que hayas configurado) como punto de acceso.
🔑 Login
📗 POST
📘 GET
📙 PUT
📕 DELETE
- Accediendo a la documentación de la API a través de Swagger UI. Puedes explorar la documentación interactiva de la API que te permite entender el funcionamiento y probar las solicitudes desde la URL http://localhost:8080/swagger-ui.html en tu navegador.
📚 Controllers Swagger (:key: Login, :green_book: POST, :blue_book: GET, :orange_book: PUT, :closed_book: DELETE)
Developer