Este proyecto es parte de los desafíos o challenges del programa Oracle Next Education. En esta ocasión, se trata de una API REST creada con Spring Boot que proporciona las funcionalidades básicas de un foro, centrándose principalmente en los tópicos.
- Creación de tópicos: Permite a los usuarios crear nuevos tópicos proporcionando un título, un mensaje y asociándolos a un curso y autor existente.
- Obtención de tópicos: Los usuarios pueden obtener una lista de todos los tópicos disponibles, incluyendo información relevante como el título, el mensaje, la fecha de creación, el estado, el autor y el curso asociado.
- Actualización de tópicos: Permite a los usuarios actualizar el contenido de un tópico existente, incluyendo el título y el mensaje.
- Cambio de estado de tópicos: Los usuarios pueden cambiar el estado de un tópico, marcándolo como activo, cerrado o eliminado.
- Eliminación de tópicos: Permite a los usuarios eliminar un tópico existente.
Además de las funcionalidades relacionadas con los tópicos, la API también incluye endpoints para gestionar usuarios, cursos y respuestas.
La API utiliza Spring Boot, un framework de desarrollo de aplicaciones Java, para facilitar la creación de la API REST. Se integra con una base de datos relacional, que cuenta con las siguientes tablas:
- "usuarios": Almacena la información de los usuarios, como el nombre, el email y la contraseña.
- "respuestas": Almacena las respuestas a los tópicos, incluyendo el mensaje, la fecha de creación, el autor y si es una solución.
- "cursos": Almacena la información de los cursos, como el nombre y la categoría.
- "topicos": Almacena la información de los tópicos, incluyendo el título, el mensaje, la fecha de creación, el estado, el autor y el curso asociado. También tiene relaciones con las tablas de usuarios y cursos.
Este proyecto tiene como objetivo proporcionar una base sólida para desarrollar un sistema de gestión de foros más completo, permitiendo a los usuarios interactuar y compartir conocimientos en un entorno educativo.
Agathion-JD