Sistema de Gestão de Pessoas desenvolvido com Java 21 e Spring Boot, seguindo a arquitetura MVC e boas práticas de desenvolvimento de APIs REST.
O objetivo deste projeto é simular uma aplicação utilizada por empresas para gerenciamento de recursos humanos, permitindo o cadastro e administração de funcionários, departamentos e usuários, com autenticação segura e documentação da API.
Este projeto foi desenvolvido para fins de estudo e demonstração de conhecimentos em desenvolvimento Backend com Java.
O projeto segue a arquitetura MVC (Model-View-Controller), organizada em camadas para facilitar manutenção, escalabilidade e reutilização de código.
Cliente (Postman / Front-end)
│
Controller
│
Service
│
Repository
│
Banco de Dados (MySQL)
src
└── main
├── java
│ └── br.com.sgp
│ ├── config
│ ├── controller
│ ├── dto
│ │ ├── request
│ │ └── response
│ ├── entity
│ ├── enums
│ ├── exception
│ ├── mapper
│ ├── repository
│ ├── security
│ ├── service
│ ├── specification
│ └── util
└── resources
- Java 21
- Spring Boot
- Spring Data JPA
- Hibernate
- MySQL
- Maven
- Lombok
- Spring Validation
- Swagger / OpenAPI
- Spring Security
- JWT
- Docker
- JUnit 5
- Mockito
- Git
- GitHub
- Cadastro
- Atualização
- Exclusão
- Consulta por ID
- Consulta por CPF
- Consulta por matrícula
- Paginação
- Filtros
- Cadastro
- Atualização
- Exclusão
- Listagem
- Cadastro
- Login
- Alteração de senha
- Controle de acesso
- Spring Security
- JWT Authentication
- BCrypt Password Encoder
- Controle de Perfis (Roles)
Perfis disponíveis:
- ADMIN
- GERENTE
- ANALISTA
- OPERADOR
O sistema disponibiliza indicadores como:
- Total de funcionários
- Funcionários ativos
- Funcionários inativos
- Média salarial
- Funcionários por departamento
Principais tabelas:
- usuarios
- roles
- funcionarios
- departamentos
- cargos
- telefones
- enderecos
- auditoria
- refresh_tokens
Após iniciar a aplicação:
http://localhost:8080/swagger-ui/index.html
O projeto utiliza:
- JUnit 5
- Mockito
- MockMvc
Para executar com Docker:
docker-compose up -dgit clone https://github.com/SEU-USUARIO/sgp-rh-api.gitcd sgp-rh-api./mvnw spring-boot:runou
mvn spring-boot:run- Estrutura MVC
- CRUD Funcionários
- CRUD Departamentos
- Spring Security
- JWT
- Upload de arquivos
- Exportação PDF
- Exportação Excel
- Docker
- Testes automatizados
- CI/CD
Thiago Guilherme Monteiro
Desenvolvedor Java | Spring Boot | APIs REST | MySQL
Este projeto faz parte da minha jornada de estudos em Java Full Stack e demonstra conhecimentos em arquitetura MVC, desenvolvimento de APIs REST, persistência de dados, autenticação, segurança e boas práticas de desenvolvimento.