Foro Hub es una aplicación web que permite a los usuarios crear, ver, actualizar y eliminar tópicos en un foro. También incluye un sistema de autenticación de usuarios.
- Crear y administrar tópicos: Los usuarios pueden agregar nuevos tópicos, ver una lista de tópicos, actualizar y eliminar tópicos existentes.
- Autenticación de usuarios: Los usuarios pueden iniciar sesión para acceder a las funciones del foro.
- Backend: Java Spring Boot
- Base de Datos: MySQL
- Autenticación: JWT (JSON Web Token)
Asegúrate de tener instalado:
- Java (JDK 17 o superior)
- Maven
- MySQL
-
Configurar la base de datos MySQL:
- Crea una base de datos llamada
forohub
. - Actualiza las credenciales de la base de datos en el archivo
application.properties
:spring.datasource.url=jdbc:mysql://localhost:3306/forohub spring.datasource.username=tu_usuario spring.datasource.password=tu_contraseña spring.jpa.hibernate.ddl-auto=update
- Crea una base de datos llamada
-
Clonar el proyecto y ejecutarlo:
- Clona el repositorio y navega al directorio del proyecto:
git clone https://github.com/tu_usuario/forohub.git cd forohub
- Compila y ejecuta la aplicación:
mvn clean install mvn spring-boot:run
- Clona el repositorio y navega al directorio del proyecto:
- Iniciar sesión:
- Endpoint:
POST /login
- Envía un JSON con el
login
yclave
del usuario para recibir un token JWT.
- Endpoint:
-
Crear un nuevo tópico:
- Endpoint:
POST /topicos
- Envía un JSON con los detalles del tópico (título, mensaje, autor, etc.)
- Endpoint:
-
Listar tópicos:
- Endpoint:
GET /topicos
- Devuelve una lista de tópicos con paginación.
- Endpoint:
-
Ver detalles de un tópico:
- Endpoint:
GET /topicos/{id}
- Devuelve los detalles de un tópico específico.
- Endpoint:
-
Actualizar un tópico:
- Endpoint:
PUT /topicos
- Envía un JSON con el
id
del tópico y los campos a actualizar (título, mensaje).
- Endpoint:
-
Eliminar un tópico:
- Endpoint:
DELETE /topicos/{id}
- Elimina el tópico especificado por el
id
.
- Endpoint:
¡Las contribuciones son bienvenidas! Si tienes ideas o mejoras, abre un issue o envía un pull request.
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE
para más detalles.