Bem-vindo ao nosso mais recente desafio Challenge Back End!
Um fórum é uma plataforma onde os participantes podem fazer perguntas e discutir sobre diferentes assuntos. No caso da Alura, o fórum é utilizado pelos alunos para tirar dúvidas relacionadas aos cursos e projetos. Por trás dessa interação, há um sistema complexo de armazenamento e gestão de dados, que é o que iremos replicar neste desafio.
O FórumHub é uma API REST que criaremos utilizando o framework Spring. Esta API será responsável pela gestão de tópicos, permitindo operações básicas de CRUD (CREATE, READ, UPDATE, DELETE).
A API permitirá aos usuários:
- Criar um novo tópico
- Listar todos os tópicos existentes
- Recuperar um tópico específico pelo seu identificador
- Atualizar um tópico existente
- Excluir um tópico
Essas operações são fundamentais para a interação básica com um sistema de fórum.
O objetivo principal deste challenge é implementar uma API REST completa seguindo as melhores práticas do modelo REST, incluindo:
- Implementação das operações CRUD para tópicos
- Validações de entrada de dados conforme as regras de negócio estabelecidas
- Utilização de um banco de dados relacional para persistência dos dados
- Implementação de autenticação/autorização para controle de acesso aos recursos
Além do código da API, disponibilizamos um diagrama do banco de dados do projeto para auxiliar na implementação. Encorajamos também a utilização de criatividade para personalizar e melhorar o projeto conforme julgar conveniente.
Para começar, clone este repositório e utilize o diagrama do banco de dados e as especificações fornecidas para guiar o desenvolvimento da API.
- Java JDK (versão recomendada)
- Spring Framework
- Banco de dados relacional (por exemplo, MySQL, PostgreSQL)