Skip to content

BertiThiago/Challenge-G8ONE-Forum-Hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio Fórum Hub - API REST com Java e Spring Boot

License: MIT Java Version GitHub repo size GitHub code size in bytes


Badge

Este é um badge conquistado por ter desenvolvido este projeto com a Alura no programa ONE - "Oracle Next Education" em parceria com a Oracle:

Badge

Descrição do Desafio

O desafio Fórum Hub consiste na criação de uma API REST utilizando Java e Spring Boot. Este desafio tem como objetivo proporcionar uma experiência prática do papel de um desenvolvedor back-end, permitindo a aplicação de conceitos avançados de Java e Spring Boot, como criação de endpoints e implementação de camadas de segurança. A realização deste desafio é essencial para o programa ONE, pois permite a consolidação dos conhecimentos adquiridos.

Estrutura do Projeto

O projeto está estruturado de acordo com as melhores práticas para desenvolvimento com Spring Boot, seguindo a arquitetura MVC (Model-View-Controller). A estrutura do diretório é a seguinte:

forum-hub/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── forumhub/
│   │   │           ├── controller/
│   │   │           ├── model/
│   │   │           ├── repository/
│   │   │           ├── service/
│   │   │           └── ForumHubApplication.java
│   │   └── resources/
│   │       ├── application.properties
│   └── test/
│       └── java/
│           └── com/
│               └── forumhub/
├── .gitignore
├── README.md
└── pom.xml

Funcionalidades

A API REST do Fórum Hub possui as seguintes funcionalidades:

  • Endpoints de Usuários:

    • Criação de novos usuários.
    • Autenticação e login de usuários.
    • Recuperação de informações de perfil.
  • Endpoints de Tópicos:

    • Criação de novos tópicos.
    • Listagem de tópicos.
    • Atualização e exclusão de tópicos.
  • Endpoints de Respostas:

    • Criação de novas respostas em tópicos.
    • Listagem de respostas em um tópico específico.
  • Segurança:

    • Implementação de autenticação JWT para proteger os endpoints.
    • Configuração de segurança para diferentes níveis de acesso.

Tecnologias Utilizadas

  • Java 17: Linguagem de programação utilizada para o desenvolvimento da API.
  • Spring Boot: Framework utilizado para a criação da aplicação.
  • Spring Security: Utilizado para implementação das camadas de segurança.
  • JWT (JSON Web Token): Utilizado para autenticação dos usuários.
  • H2 Database: Banco de dados em memória utilizado para testes.
  • Maven: Ferramenta de gerenciamento de dependências e build.

Configuração do Ambiente

Para configurar o ambiente de desenvolvimento, siga os passos abaixo:

  1. Clone o repositório:
    git clone https://github.com/seu-usuario/forum-hub.git
    cd forum-hub
    
  2. Instale as dependências do Maven:
    mvn install
  3. Execute a aplicação:
    mvn spring-boot:run

A aplicação estará disponível em http://localhost:8080.

Testes

Os testes unitários e de integração estão localizados no diretório src/test/java/com/forumhub. Para executar os testes, utilize o comando:

mvn test

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para enviar sugestões, correções de bugs ou melhorias através de issues e pull requests.

Licença

Este projeto está licenciado sob a Licença MIT

About

Aplicando conceitos avançados de Java e Spring Boot, como criação de endpoints, implementação de camadas de segurança, entre outros.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages