Empresa: InovaTech Solutions
Projeto: Gerenciamento de Usuários
Autor: Tiago Fernandes
Cargo: Engenheiro de Software
Data: 08/12/2025
Versão: 1.0
O projeto Gerenciamento de Usuários foi desenvolvido em Java
Spring Boot com PostgreSQL, aplicando boas práticas de engenharia
de software para criar uma API RESTful de controle e administração
de usuários.
A solução demonstra arquitetura modular, persistência robusta, testes
automatizados e documentação interativa.
Fornecer uma API RESTful para operações de CRUD de usuários, garantindo:
- Escalabilidade
- Segurança
- Facilidade de integração com outros sistemas corporativos
- Cadastro de Usuário: permitir criar novos usuários com nome, e-mail e senha.
- Listagem de Usuários: retornar todos os usuários cadastrados.
- Busca por Nome: localizar usuários pelo atributo
nameUser. - Exclusão de Usuário: remover usuários pelo identificador único (
id). - Validação de Dados: garantir que informações obrigatórias estejam corretas.
- Documentação Interativa: disponibilizar endpoints via Swagger/OpenAPI.
- Segurança: implementar autenticação e autorização (ex.: JWT).
- Escalabilidade: suportar aumento de usuários e requisições sem perda de desempenho.
- Performance: respostas da API em < 2 segundos em média.
- Disponibilidade: sistema acessível 24/7.
- Manutenibilidade: código modular e bem documentado.
- Portabilidade: possibilidade de implantação em diferentes ambientes.
- Testabilidade: cobertura de testes unitários e de integração.
- Java Spring Boot
- PostgreSQL
- Swagger/OpenAPI
- JUnit
- JSON
- Controller → expõe endpoints REST
- Service → regras de negócio
- Repository → persistência via Spring Data JPA
- Model → representação da entidade User
+-------------------+
| Cliente |
| (Front-end / App) |
+---------+---------+
|
v
+-------------------+
| Controller |
| Recebe requisições|
+---------+---------+
|
v
+-------------------+
| Service |
| Regras de negócio |
+---------+---------+
|
v
+-------------------+
| Repository |
| Acesso ao banco |
+---------+---------+
|
v
+-------------------+
| PostgreSQL |
| Banco de dados |
+-------------------+
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /users |
Lista todos os usuários |
| GET | /users/{nameUser} |
Busca usuário pelo username |
| POST | /users |
Cria novo usuário |
| DELETE | /users/{id} |
Remove usuário por ID |
Cliente Controller Service Repository PostgreSQL
| POST /users | | | |
|--------------->| | | |
| | valida dados | | |
| |-------------->| | |
| | | aplica lógica | |
| | |-------------->| |
| | | | INSERT usuário |
| | | |---------------> |
| | | | <--- sucesso ---|
| | | <--- entidade salva ------------|
| | <--- resposta JSON -----------------------------|
| <--- 201 Created ------------------------------------------------|
Cliente Controller Service Repository PostgreSQL
| GET /users/{nameUser} | | |
|--------------->| | | |
| | valida entrada| | |
| |-------------->| | |
| | | consulta lógica| |
| | |-------------->| |
| | | | SELECT usuário |
| | | |---------------> |
| | | | <--- resultado --|
| | | <--- entidade encontrada -------|
| | <--- resposta JSON -----------------------------|
| <--- 200 OK -----------------------------------------------------|
Cliente Controller Service Repository PostgreSQL
| DELETE /users/{id} | | |
|--------------->| | | |
| | valida ID | | |
| |-------------->| | |
| | | verifica existência |
| | |-------------->| |
| | | | SELECT usuário |
| | | |---------------> |
| | | | <--- resultado --|
| | | | DELETE usuário |
| | | |---------------> |
| | | | <--- sucesso ---|
| | | <--- confirmação --------------|
| | <--- resposta JSON -----------------------------|
| <--- 200 OK -----------------------------------------------------|
+-------------------+
| Cliente |
| (Usuário Externo) |
+---------+---------+
|
v
+-----------------------------------+
| Gerenciamento de Usuários |
|-----------------------------------|
| (Casos de Uso) |
| |
| • Criar Usuário |
| • Listar Usuários |
| • Buscar Usuário por Nome |
| • Excluir Usuário |
+-----------------------------------+
- API funcional e documentada
- Testes unitários e de integração validados
- Persistência robusta com PostgreSQL
- Arquitetura modular e escalável
- Implementar autenticação e autorização (JWT)
- Escalar para ambientes em nuvem
- Adicionar monitoramento e métricas
- Criar pipeline de CI/CD
O projeto Gerenciamento de Usuários atingiu seu objetivo principal ao disponibilizar uma API RESTful robusta para operações CRUD, com persistência confiável em PostgreSQL e boas práticas de arquitetura utilizando Java Spring Boot.
Os diagramas e estruturas apresentados fornecem uma visão clara do funcionamento interno do sistema, reforçando sua aplicabilidade em cenários reais que exigem gerenciamento eficiente de usuários e integração corporativa.