Escrito em
JAVA 17
.
Bem-vindo à documentação da aplicação Forum Hub
.
Uma ferramenta para gerenciamento de fóruns
, permitindo a criação e gerenciamento
de usuários, tópicos e respostas
, desenvolvida por Wesley Pereira.
Esta aplicação foi criada no contexto da bolsa do curso da Oracle, Alura e Ifood, com foco em BackEnders iniciantes
.
A aplicação é escrita exclusivamente
em JAVA, utilizando o framework Spring Boot e em sua versão 2.5 traz suporte implemantação
em Docker.
Para implementação direto do DOCKER HUB
, cole em seu terminal:
sudo docker pull wesleyp846/forum_hub:V2.5
sudo docker run -d -p 8080:8080 wesleyp846/forum_hub:V2.5
Na versão 2.5, a aplicacação foi finalizada
, Dockerizada
e entregue
.
- Acesso à
WEB
. Doker
Java 17
instalado (opicional).Intellij IDEA
instalado (opicional).Maven
configurado (opicional).
JAVA: Usado como linguagem de programação.
Spring Boot: Usado como framework para construção da aplicação.
Intellij: Usado como IDE na codificação.
Postgresql: Usado como banco de dados em memória para desenvolvimento.
Docker: Usado na conteinerização da aplicação como um todo.
- A aplicação permite a
criação e gerenciamento de usuários
. - Os
tópicos
podem sercriados, editados, listados e deletados
. - As
respostas
aos tópicos podem sercriadas, editadas, listadas e deletadas
. - A
autenticação
dos usuários é gerenciada por meio detokens JWT
. - Como o
Docker
instalado é possível clonar o repositório e com comando simples viaterminal
, rodar a aplicação`
-
PUT /usuarios/{id}
- Atualiza um usuário específico.
-
DELETE /usuarios/{id}
- Deleta um usuário específico.
-
GET /usuarios
- Lista todos os usuários.
-
POST /usuarios
- Cria um novo usuário.
-
GET /topicos/{id}
- Retorna detalhes de um tópico específico.
-
PUT /topicos/{id}
- Atualiza um tópico específico.
-
DELETE /topicos/{id}
- Deleta um tópico específico.
-
GET /topicos
- Lista todos os tópicos.
-
POST /topicos
- Cria um novo tópico.
-
PUT /respostas/{id}
- Atualiza uma resposta específica.
-
POST /respostas/{id}
- Cria uma nova resposta.
-
DELETE /respostas/{id}
- Deleta uma resposta específica.
-
GET /respostas
- Lista todas as respostas.
- POST /login
- Autentica um usuário.(
Usuario deve estar previamente cadastrado no banco de dados com e-mail e senha
)
- Autentica um usuário.(
- DadosEdicaoDeUsuarioDto: Dados para edição de um usuário.
- EditarTopicoDto: Dados para edição de um tópico.
- RespostaEditaTopicoDTO: Dados para edição de uma resposta.
- EditarRespostaDto: Dados para edição de uma resposta.
- DadosNovoUsuarioDto: Dados para criação de um novo usuário.
- DadosNovoTopicoDto: Dados para criação de um novo tópico.
- DtoDadosNovaResposta: Dados para criação de uma nova resposta.
- EnvioAutenticacaoDTO: Dados para autenticação de um usuário.
- Pageable: Dados para paginação.
- ListagemDeDadosUsuariosDto: Dados de listagem de usuários.
- PageListagemDeDadosUsuariosDto: Dados de paginação de listagem de usuários.
- PageableObject: Objeto de paginação.
- SortObject: Objeto de ordenação.
- ListagemDeDadosTopicosDto: Dados de listagem de tópicos.
- PageListagemDeDadosTopicosDto: Dados de paginação de listagem de tópicos.
- UsuarioSimplesDTO: Dados simplificados de um usuário.
- DetalhesRespostaDTO: Detalhes de uma resposta.
- PageDetalhesRespostaDTO: Dados de paginação de detalhes de respostas.
Clone do repositório
git clone https://github.com/wesleyp846/ForumHub
Navegue até a pasta do app
cd ForumHub
Compile a aplicação
sudo docker-compose build
Rode a aplicação
sudo docker-compose up
Para rodar este projeto, siga os passos abaixo:
- Clone o repositório:
git clone https://github.com/wesleyp846/ForumHub cd ForumHub
Configure o banco de dados:
Atualize as configurações do banco de dados no arquivo application.properties
.
Execute a aplicação:
./mvnw spring-boot:run
Acesse a documentação da API: A documentação da API gerada pelo Swagger pode ser acessada em
http://localhost:8080/swagger-ui/index.html#/
Para contribuir com o projeto, siga os passos abaixo:
Fork o repositório. Crie uma nova branch:
git checkout -b minha-feature
Faça suas alterações e commit:
git commit -m "Minha nova feature"
Envie para o repositório remoto:
git push origin minha-feature
Abra um Pull Request.
Licença MIT
Baseado em orientação da Alura e seus professores
, com live
única de lançamento do exercício.
Esperamos que esta documentação ajude você a compreender a aplicação.
Fique à vontade para contribuir e adicionar melhorias ao código.
Para mais informações, visite o LinkedIn de Wesley Pereira.
Primeiro commit na data de 29/06/2024
Demonstração da API rodando em terminal no servidor
Demonstração dos retornos da API via Insomnia
Demonstração da documentação adicioal SWAGGER
Demonstação das tabelas no Banco de Dados
Demonstração da estrutura de arquivos do codigo fonte