Skip to content

DanielHerrer/Challenge-Oracle-ONE-G5-ForoAlura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👥 Foro Alura - Challenge ONE G5

📑 Descripcion

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.

⭐ Insignia Spring

Insignia obtenida por el Foro Alura

📂 Diagrama de la base de datos

❓ Cómo usar la API REST

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 Login
📗 POST Post
📘 GET Get
📙 PUT Put
📕 DELETE 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)

Swagger UI

Developer :shipit:

Daniel Franco Herrera
GitHub
LinkedIn