Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Projeto: Gerenciamento de Usuários

Empresa: InovaTech Solutions
Projeto: Gerenciamento de Usuários
Autor: Tiago Fernandes
Cargo: Engenheiro de Software
Data: 08/12/2025
Versão: 1.0


📌 Resumo

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.


🎯 Objetivo

Fornecer uma API RESTful para operações de CRUD de usuários, garantindo:

  • Escalabilidade
  • Segurança
  • Facilidade de integração com outros sistemas corporativos

📌 Requisitos do Sistema

✅ Requisitos Funcionais

  • 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.

🔒 Requisitos Não Funcionais

  • 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.

🛠 Tecnologias Utilizadas

  • Java Spring Boot
  • PostgreSQL
  • Swagger/OpenAPI
  • JUnit
  • JSON

🏗 Arquitetura do Sistema

  • Controller → expõe endpoints REST
  • Service → regras de negócio
  • Repository → persistência via Spring Data JPA
  • Model → representação da entidade User

Diagrama Simplificado (ASCII)

 +-------------------+
| 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 |
+-------------------+

🌐 Endpoints RESTful

MétodoEndpointDescrição
GET/usersLista todos os usuários
GET/users/{nameUser}Busca usuário pelo username
POST/usersCria novo usuário
DELETE/users/{id}Remove usuário por ID

📈 Diagramas UML de Sequência

1. Criar Usuário

Cliente Controller Service Repository PostgreSQL
| POST /users | | | |
|--------------->| | | |
| | valida dados | | |
| |-------------->| | |
| | | aplica lógica | |
| | |-------------->| |
| | | | INSERT usuário |
| | | |---------------> |
| | | | <--- sucesso ---|
| | | <--- entidade salva ------------|
| | <--- resposta JSON -----------------------------|
| <--- 201 Created ------------------------------------------------|

2. Buscar Usuário

Cliente Controller Service Repository PostgreSQL
| GET /users/{nameUser} | | |
|--------------->| | | |
| | valida entrada| | |
| |-------------->| | |
| | | consulta lógica| |
| | |-------------->| |
| | | | SELECT usuário |
| | | |---------------> |
| | | | <--- resultado --|
| | | <--- entidade encontrada -------|
| | <--- resposta JSON -----------------------------|
| <--- 200 OK -----------------------------------------------------|

3. Excluir Usuário

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 -----------------------------------------------------|

👤 Diagrama UML de Caso de Uso

 +-------------------+
| 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 |
+-----------------------------------+

✅ Resultados Obtidos

  • API funcional e documentada
  • Testes unitários e de integração validados
  • Persistência robusta com PostgreSQL
  • Arquitetura modular e escalável

🚀 Próximos Passos

  • Implementar autenticação e autorização (JWT)
  • Escalar para ambientes em nuvem
  • Adicionar monitoramento e métricas
  • Criar pipeline de CI/CD

🏁 Conclusão

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.

About

API RESTful de gerenciamento de usuários com Java Spring Boot e PostgreSQL

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages