- Adiciona dependências do Spring Security e JWT (API, Impl, Jackson). - Configura o pipeline de segurança com autenticação stateless e filtros JWT. - Implementa serviços para geração e validação de tokens de acesso e refresh. - Cria endpoints para login (/api/auth/login) e refresh de token (/api/auth/refresh). - Move o endpoint de criação de usuário para /api/auth/signup e o protege. - Criptografa senhas dos usuários utilizando BCrypt antes de salvar. - Atualiza Postman Collection com requisições de autenticação e variáveis de ambiente. - Estende a interface UserDetails para o modelo Users. - Ajusta tamanho da coluna 'password' na tabela de usuários para hashes. - Adiciona um usuário padrão inicial com senha hash. |
||
|---|---|---|
| backend | ||
| frontned | ||
| .gitignore | ||
| .tool-versions | ||
| README.md | ||
README.md
Hit Server Manager
Plataforma interna da Hit Communications para catalogar os servidores corporativos e expor essas informações de forma rápida ao time de Análise de Sistemas e Desenvolvimento. O backend centraliza cadastros, contexto técnico (tipo, aplicação e banco) e credenciais operacionais, facilitando consultas padronizadas e mantendo histórico de alterações.
Principais recursos
- CRUD completo de usuários internos e servidores
- Validação de domínio corporativo para criação de usuários
- Mapeamentos DTO ↔ entidades com MapStruct
- API REST documentada via coleção Postman (
postman_collection.json) - Persistência em H2 (memória/disco) com Spring Data JPA e geração automática de IDs personalizados para servidores
Stack
- Java 21 + Spring Boot 4.0
- Spring Web MVC, Validation, Data JPA
- H2 Database
- MapStruct 1.6
- Lombok
- Spring Security (JWT em breve)
- Docker Compose para orquestração local
- ReactJS
Como rodar
- Pré-requisitos: JDK 21 e acesso ao Gradle Wrapper (
./gradlew). - Instalar dependências e rodar testes:
./gradlew clean test - Subir o backend:
./gradlew bootRun - A API ficará disponível em
http://localhost:8080. Utilize a coleção Postman incluída para exercitar os endpoints deUserseServers({{base_url}}já configurado com esse endereço).
Próximos passos
- Substituir H2 por PostgreSQL para persistência
- Proteger os endpoints com autenticação (Spring Security com JWT)
- Criar o frontend React integrado ao backend
- Containerizar backend + frontend com Docker Compose