API backend para una plataforma de foros moderna y escalable.
- 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
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
Puedes levantar todo el entorno con:
docker-compose up --buildEsto inicia:
backend: API Spring Bootmysql: Base de datos persistenteredis: Cache y autenticación JWTkafka + zookeeper: Streaming de eventos
- 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
Usuarios --> API REST (Spring Boot)
|
Redis (JWT)
|
MySQL + Kafka
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
Gabriel Romero – github.com/gabeust