Foromania es una aplicación de foro diseñada para gestionar temas, respuestas y usuarios. Implementa autenticación segura mediante JSON Web Tokens (JWT) y ofrece funciones CRUD completas.
- Autenticación segura:
- Registro de usuarios.
- Inicio de sesión con generación y validación de JWT.
- Gestión de usuarios:
- Crear, leer, actualizar y eliminar usuarios.
- Gestión de temas:
- Crear, leer, actualizar y eliminar temas (tópicos).
- Gestión de respuestas:
- Crear, leer, actualizar y eliminar respuestas a los temas.
- Backend:
- Lenguaje: Java
- Framework: Spring Boot
- Seguridad: Spring Security con JWT
- Base de datos: MySQL
- ORM: Hibernate
- JDK 17+
- Base de datos MySQL configurada.
- Maven (gestor de dependencias para Java).
-
Clona este repositorio:
git clone https://github.com/tu-usuario/foromania.git cd foromania -
Configura la base de datos en
application.propertiesoapplication.yml:spring.datasource.url=jdbc:mysql://localhost:3306/foromania spring.datasource.username=tu_usuario spring.datasource.password=tu_contraseña spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true
-
Compila y ejecuta el backend:
mvn clean install mvn spring-boot:run
- POST
/login: Inicio de sesión (genera JWT).
- GET
/users: Lista todos los usuarios. - PUT
/users/{id}: Actualiza un usuario. - DELETE
/users/{id}: Elimina un usuario.
- POST
/topics: Crea un nuevo tópico. - GET
/topics: Lista todos los tópicos. - GET
/topics/{id}: Obtiene un tópico por ID. - PUT
/topics/{id}: Actualiza un tópico. - DELETE
/topics/{id}: Elimina un tópico.
- POST
/replies: Crea una nueva respuesta. - GET
/replies: Lista todas las respuestas. - PUT
/replies/{id}: Actualiza una respuesta. - DELETE
/replies/{id}: Elimina una respuesta.
¡Las contribuciones son bienvenidas! Por favor, sigue estos pasos:
- Haz un fork de este repositorio.
- Crea una nueva rama (
feature/nueva-funcion). - Haz tus cambios y realiza un commit.
- Envía un pull request.
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más información.