https://github.com/briansabio/forohub_challenge
Proyecto de foro del lado back-end implementando una API REST con diseño CRUD en lenguaje Java utilizando Spring como framework.
https://github.com/briansabio/forohub_challenge
java mysql spring
Last synced: about 2 months ago
JSON representation
Proyecto de foro del lado back-end implementando una API REST con diseño CRUD en lenguaje Java utilizando Spring como framework.
- Host: GitHub
- URL: https://github.com/briansabio/forohub_challenge
- Owner: BrianSabio
- License: mit
- Created: 2025-01-19T20:10:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-20T22:46:44.000Z (over 1 year ago)
- Last Synced: 2025-07-15T18:34:46.025Z (11 months ago)
- Topics: java, mysql, spring
- Language: Java
- Homepage:
- Size: 124 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Foro Hub - Backend Challenge
'Foro Hub' es una aplicación back-end desarrollada con Java y Spring; ofrece una API REST con operaciones CRUD para la gestión de un foro de discusión.

## Organización del código
El proyecto utiliza Java junto con su framework Spring, Maven/Gradle para gestionar dependencias y MySQL para manejo de bases de datos y persistencia. Está organizado en distintos paquetes:
- **`com.example.foro.models`**: Contiene las clases de modelo que definen la estructura de los datos y su relación con la base de datos.
- `Usuarios.java`: Define los atributos y relaciones de los usuarios.
- `Topicos.java`: Define los atributos y relaciones de los tópicos del foro.
- `Respuestas.java`: Define los atributos y relaciones de las respuestas a los tópicos.
- **`com.example.foro.repository`**: Interfaces de repositorio para interactuar con la base de datos.
- `UsuarioRepository.java`: Consultas relacionadas con los usuarios.
- `TopicoRepository.java`: Consultas relacionadas con los tópicos.
- `RespuestaRepository.java`: Consultas relacionadas con las respuestas.
- **`com.example.foro.service`**: Clases de servicio que implementan la lógica del negocio.
- `UsuarioService.java`: Lógica de negocio relacionada con los usuarios.
- `TopicoService.java`: Lógica de negocio relacionada con los tópicos.
- `RespuestaService.java`: Lógica de negocio relacionada con las respuestas.
- **`com.example.foro.controller`**: Clases controlador que manejan las solicitudes y respuestas de la API REST.
- `UsuarioController.java`: Endpoints relacionados con los usuarios.
- `TopicoController.java`: Endpoints relacionados con los tópicos.
- `RespuestaController.java`: Endpoints relacionados con las respuestas.
El proyecto cuenta con:
- Seguridad mediante API Key, Spring Security y JWT.
- Migraciones de base de datos configuradas con Flyway.
- Documentación de la API generada automáticamente con Springdoc OpenAPI.
- Persistencia de datos gestionada con Spring Data JPA.
## Tecnologías utilizadas
- Java SE 17 o superior
- Maven/Gradle
- Spring Boot 3.x
- Spring Security
- JWT
- Flyway
- MySQL
## Estado del proyecto
Finalizado.
## Autor:
**Brian Sabio**
## Licencia
MIT License