Skip to content

JuanMproyect/ForoHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Estado del Proyecto Java JDK IDE Project Spring_Boot PostgreSQL


ForoHub

Challenge: ForoHub

Foro Hub es una aplicación backend de foros desarrollada con Spring Boot. Está diseñada para gestionar tópicos de discusión y utiliza tecnologías como Java, Spring Boot y MySQL para su funcionamiento.

Características

  • CRUD de Tópicos: Crear, leer, actualizar y eliminar tópicos.
  • Autenticación y Autorización: Implementada con JWT.
  • Validaciones: Validaciones de entrada de datos utilizando Jakarta Bean Validation.
  • Listar Autores por Año: Imprime por consola los autores vivos en el año especificado.
  • Swagger: Documentación de la API generada automáticamente.

Requisitos

Para este proyecto se utilizaron las siguientes tecnologías:

  • Java JDK: versión 21
  • Maven: versión 4
  • Spring Boot: versión 3.3.1
  • MySQL: versión 8.0
  • IDE: IntelliJ IDEA

Dependencias para agregar al crear el proyecto en Spring Initializr:

  • Swagger
  • Lombok
  • Spring Web
  • Spring Boot DevTools
  • Spring Data JPA
  • Flyway Migration
  • MySQL Driver
  • Validation
  • Spring Security

Configuración del Proyecto

  1. Clona el repositorio:

    git clone https://github.com/tu-usuario/foro-hub.git
    cd foro-hub
  2. Configura la base de datos MySQL:

    CREATE DATABASE foro_hub;
    CREATE USER 'foro_user'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON foro_hub.* TO 'foro_user'@'localhost';
    FLUSH PRIVILEGES;
  3. Configura las propiedades de la aplicación en src/main/resources/application.properties:

    spring.datasource.url=jdbc:mysql://localhost:3306/foro_hub
    spring.datasource.username=user
    spring.datasource.password=password
    spring.jpa.hibernate.ddl-auto=update
    
    api.security.secret=tu_secreto_de_jwt

Ejecución del Proyecto

  1. Compila y ejecuta la aplicación con Maven:

    mvn clean install
    mvn spring-boot:run
  2. La aplicación estará disponible en http://localhost:8080.

Uso de la API

Autenticación

Para autenticarse, envíe una solicitud POST a /login con las credenciales del usuario. Esto devolverá un token JWT, que debe incluirse en el encabezado de autorización en todas las solicitudes futuras.

Endpoints Principales

  • POST /topicos: Crea un nuevo tópico.
  • GET /topicos: Obtiene la lista de tópicos.
  • PUT /topicos/{id}: Actualiza un tópico existente.
  • DELETE /topicos/{id}: Elimina un tópico de la base de datos.

About

Aplicación backend para gestionar foros de discusión, desarrollada utilizando Java, Spring Boot, y MySQL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages