Este é um badge conquistado por ter desenvolvido este projeto com a Alura no programa ONE - "Oracle Next Education" em parceria com a Oracle:
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.
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.xmlA 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.
- 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.
Para configurar o ambiente de desenvolvimento, siga os passos abaixo:
- Clone o repositório:
git clone https://github.com/seu-usuario/forum-hub.git cd forum-hub - Instale as dependências do Maven:
mvn install
- Execute a aplicação:
mvn spring-boot:run
A aplicação estará disponível em http://localhost:8080.
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 testContribuiçõ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.
Este projeto está licenciado sob a Licença MIT
