1.
Visão Geral do Projeto
O sistema “Controle de Estoque do Studio Muda” é uma aplicação Java EE/Spring Boot com
banco MySQL, que automatiza e rastreia todo o fluxo de materiais e pedidos de uma empresa de
paisagismo, garantindo segurança (login/senha) e transparência nas operações.
2. Objetivos
Automatizar entrada (reposições) e saída (retiradas) de estoque.
Rastrear ações de diretores, auxiliares e estoquistas.
Gerenciar clientes (PF/PJ), cupons e pedidos de venda.
Oferecer relatórios e KPIs em um dashboard interativo.
Assegurar integridade via triggers, procedures e auditoria.
3. Minimundo (Contexto)
Entidades e papéis principais:
Funcionários (diretores, auxiliares, estoquistas) com cadastro
completo e autenticação.
Clientes PF ou PJ, com pedidos de venda.
Produtos estocados por código, tipo e quantidade.
Requisições de reposição a fornecedores e de retirada por auxiliares
(aprovadas por diretores).
Movimentações de estoque registradas por estoquistas.
4. Modelagem de Dados
DER: entidades (Funcionario, Cliente, Produto, Pedido, ItemPedido,
MovimentacaoEstoque, Reposicao, SolicitacaoRetirada, Fornecedor,
Cupom) e relacionamentos conforme minimundo.
Modelo Lógico (MySQL): tabelas, chaves estrangeiras, views e
triggers de auditoria (triggers_avancados.sql).
5. Arquitetura Técnica
5.1 Backend
Spring Boot com controllers (ClienteController, PedidoController,
EstoqueController, KpiController, DashboardController…).
DAOs JDBC (ClienteDAO, ProdutoDAO, PedidoDAO,
MovimentacaoEstoqueDAO, ItemPedidoDAO, FuncionarioDAO,
CupomDAO).
Configurações de segurança (SecurityConfig), MVC/Web (WebConfig)
e logging (LoggingConfig).
Inicialização pelo EstoqueApplication.java e iniciar_aplicacao.sh.
Dependências em pom.xml.
5.2 Front-end
Templates Thymeleaf/HTML: formulários (form.html), listas
(lista.html, itens.html), dashboard (dashboard.html), página de erro.
CSS: design system em style.css e error.css.
JS: delete-functions.js, filtros-universais.js, ui-effects.js.
6. Scripts de Banco e Automação
DDL/DML: setup_database.sql, dados_teste.sql.
Triggers e procedures iniciais em triggers_avancados.sql.
Shell: script de startup iniciar_aplicacao.sh.
7. Principais Funcionalidades
1. Autenticação/Autorização por cargo.
2. Gestão de estoque (entrada, saída, conferência).
3. Fluxo de pedidos de venda com cupons.
4. Dashboard de KPIs dinâmico.
5. Filtros e buscas em todas as listagens.
6. Tratamento de erros customizado.
8. Qualidade e Testes
Logging com SLF4J/Logback.
Validações via @Valid e BindingResult.
Testes sugeridos: JUnit+Mockito para DAOs; MockMvc para
controllers.
9. Dashboard de Indicadores
9.1 Evolução de Vendas (últimos 12 meses)
Gráfico: linha azul (faturamento) e rosa (número de pedidos) de
Jun/24 a Mai/25, com pico em Jan/25.
Insight: provável impacto de campanha sazonal.
Sugestões: inserir anotação de eventos no pico; adicionar média
móvel; filtro de janela temporal.
9.2 Distribuição de Clientes PF/PJ
Gráfico: donut mostrando ~60% PF e ~40% PJ.
Insight: equilíbrio saudável, mas possível variação por região.
Sugestões: exibir valores absolutos em tooltips; filtrar por filial ou
faturamento.
9.3 Pedidos por Status
Gráfico: majority “Entregue”, pequena fatia “Em Andamento” e
“Pendente”.
Insight: bom nível de atendimento, mas processos em andamento
merecem monitoramento.
Sugestões: gráfico de funil; tempo médio em cada etapa.
9.4 Produtos por Categoria
Gráfico: 65% Materiais, seguido de Acessórios, Equipamentos e
Ferramentas.
Insight: estoques concentrados em materiais.
Sugestões: drill-down em subcategorias; usar barras horizontais para
maior legibilidade.
9.5 Produtos com Estoque Crítico
Gráfico: barras indicando 4 itens com quantidade crítica (1 a 10).
Insight: itens como “Bomba de Irrigação” e “Sensor de Umidade” no
limite.
Sugestões: cores distintas por nível; link rápido para novo pedido de
reposição.
9.6 Top 10 Produtos Mais Vendidos
Gráfico: ranking liderado por “Terra Vegetal” (≈115 unid.) e “Piso
Drenante Jardim” (≈105).
Insight: foco em produtos essenciais de paisagismo.
Sugestões: filtros de período; evolução histórica dos três primeiros no
hover.
9.7 Clientes Mais Ativos
Gráfico: top 10 clientes com até 4 pedidos.
Insight: carteira diversificada, sem concentração excessiva.
Sugestões: adicionar LTV (valor total gasto); detalhar compras por
cliente.
9.8 Tempo Médio de Entrega por Mês
Gráfico: variação de 8,5 dias (Jan/24) a 11,5 dias (Ago/24) e baixa de
5,5 dias (Mai/25).
Insight: picos em períodos de férias; ganho de eficiência recente.
Sugestões: linha de meta; investigar causas de atrasos; correlacionar
com volume de pedidos.
10. Conclusão e Próximos Passos
Modelagem: gerar DER e DDL completo atualizados.
Refatoração: migrar DAOs para Spring Data/JdbcTemplate.
Relatórios Avançados: implementar procedures de alerta (estoque
baixo, SLA).
Dashboard: tornar gráficos interativos (drill-down, anotações, metas).
Testes e CI/CD: criar suíte automatizada e pipeline Docker Compose
+ GitHub Actions.