Skip to content

leonelSubelza/Challenge-ONE-Foro-Alura-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Challenge-ONE-Foro-Alura-API

Proyecto realizado para el Challenge ONE Back Foro Alura, el cual consiste en desarrollar una API para el foro de Alura, donde los alumnos pueden consultar sus dudas mediante la creación de un Tópico y un mensaje y los demás usuarios pueden realizar comentarios sobre éste. La API sigue una arquitectura REST y utiliza diversas bibliotecas para mejorar su funcionalidad y seguridad.

📝 Funcionalidades

  • CRUD: La API tendrá endpoints para procesar request del tipo CRUD (Create, Read, Update, Delete) para las entidades Topico, Respuesta, Autor
  • Autenticación y Registro: La API utiliza tokens JWT para autenticar a los usuarios y permite el registro de nuevos usuarios.
  • Protección de API: Se ha implementado seguridad en la API utilizando Spring Security para proteger los endpoints y garantizar que solo los usuarios autenticados puedan acceder a ellos.
  • Base de datos: La aplicación utiliza MySQL como base de datos para almacenar la información de las publicaciones, comentarios , autores y usuarios permitidos para la autenticación así como los roles de éstos.
  • Swagger: Se utiliza la herramienta de código abierto Swagger para generar documentación interactiva de la API. Proporciona una interfaz gráfica que muestra información detallada sobre los endpoints, los parámetros requeridos, las respuestas esperadas, etc.

🔨 Tecnologías utilizadas

Las principales tecnologías utilizadas en este proyecto son:

JAVA
JAVA
Spring Boot
Spring Boot
Maven
Maven
MySQL
MySQL
JWT
JWT
Intellij
Intellij
Postman
Postman
MySQLWorkbench
MySQL Workbench
GitHub
GitHub
Swagger
Swagger

🔧 Librerías

  • Spring Data JPA: Biblioteca de Spring para trabajar con bases de datos relacionales mediante el uso de objetos y consultas JPQL.
  • Spring Security: Framework de seguridad de Spring que proporciona autenticación y autorización en la aplicación.
  • MySQL: Sistema de gestión de bases de datos relacional utilizado para almacenar la información del foro.
  • Model Mapper: Biblioteca utilizada para mapear objetos DTO (Data Transfer Objects) a entidades y viceversa.
  • Spring Boot Starter Validation: Biblioteca de validación utilizada para realizar validaciones en los datos de entrada.
  • Lombok: Biblioteca que agiliza el desarrollo eliminando la necesidad de escribir código repetitivo, como getters, setters y constructores.
  • JWT (JSON Web Tokens): Estándar abierto basado en JSON utilizado para transmitir información segura entre partes en forma de tokens.
  • Springdoc-openapi: Biblioteca utilizada para la generación de documentación de la API mediante OpenAPI (Swagger).

🔌 Configuración

Clona el repositorio del proyecto. Importa el proyecto en tu IDE preferido. Configura las credenciales de la base de datos en el archivo application.properties. Ejecuta la aplicación y accede a la API a través de http://localhost:8080.

Insignia obtenida

cms_files_10224_1673890737Prancheta_9

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages