Skip to content

Gabeust/forohub-one

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 ForoHub Backend

API backend para una plataforma de foros moderna y escalable.


🚀 Tecnologías utilizadas

  • Java 23
  • Spring Boot
  • Spring Security + JWT
  • Redis para validación y almacenamiento de tokens
  • Apache Kafka para comunicación de eventos
  • MySQL como base de datos principal
  • Docker y Docker Compose
  • Maven

📌 Descripción

Este es el backend del proyecto ForoHub, un sistema robusto de foros que permite a los usuarios:

  • Registrarse e iniciar sesión con JWT
  • Crear y comentar publicaciones
  • Reaccionar con emojis
  • Tener perfiles con nickname, foto, estadísticas
  • Soporta notificaciones
  • Validación de tokens con Redis para alta performance
  • Kafka para eventos como nuevos posts o reacciones

🐳 Docker

Puedes levantar todo el entorno con:

docker-compose up --build

Esto inicia:

  • backend: API Spring Boot
  • mysql: Base de datos persistente
  • redis: Cache y autenticación JWT
  • kafka + zookeeper: Streaming de eventos

🛡️ Seguridad

  • Autenticación vía JWT (Access + Refresh tokens)
  • Redis como blacklist y control de tokens expirados
  • Roles: USER, MODERATOR, ADMIN
  • Protección CORS y CSRF

🧠 Arquitectura general

Usuarios --> API REST (Spring Boot)
                 |
              Redis (JWT)
                 |
             MySQL + Kafka

📂 Estructura del proyecto

src/
 ┣ config/          → Configuración de seguridad, CORS, Redis
 ┣ controller/      → Endpoints públicos y protegidos
 ┣ dto/             → Clases de transferencia
 ┣ entity/          → Entidades JPA (User, Post, Comment...)
 ┣ repository/      → Interfaces de acceso a datos
 ┣ service/         → Lógica de negocio
 ┗ util/            → Utilidades como manejo de tokens

🤝 Autor

Gabriel Romero – github.com/gabeust


About

ForoHub es una aplicación web de foros construida con Java + Spring Boot, que permite a los usuarios registrarse, crear posts, comentar, reaccionar y más. Ideal para comunidades, debates y proyectos de práctica.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors