[{"data":1,"prerenderedAt":694},["ShallowReactive",2],{"navigation_docs":3,"-projetos-integradores-pi-05-gestao-estoque-readme":252,"-projetos-integradores-pi-05-gestao-estoque-readme-surround":691},[4,96,189],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"⚙️ Engenharia de Software","i-lucide-book-open","\u002Fengenharia-software","1.engenharia-software",[10,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92],{"title":5,"path":7,"stem":11},"1.engenharia-software\u002Findex",{"title":13,"path":14,"stem":15},"📋 Plano de Ensino e Aplicações","\u002Fengenharia-software\u002Fengenharia-software-aplicacoes","1.engenharia-software\u002F01.engenharia-software-aplicacoes",{"title":17,"path":18,"stem":19},"Cap 01: Introdução e Natureza do Software","\u002Fengenharia-software\u002Fcap-01","1.engenharia-software\u002F02.cap-01",{"title":21,"path":22,"stem":23},"Cap 02: Modelos de Processo de Software","\u002Fengenharia-software\u002Fcap-02","1.engenharia-software\u002F03.cap-02",{"title":25,"path":26,"stem":27},"Cap 03: As Atividades do Processo","\u002Fengenharia-software\u002Fcap-03","1.engenharia-software\u002F04.cap-03",{"title":29,"path":30,"stem":31},"Cap 04: Metodologias Ágeis","\u002Fengenharia-software\u002Fcap-04","1.engenharia-software\u002F05.cap-04",{"title":33,"path":34,"stem":35},"Cap 05: Fundamentos de Requisitos","\u002Fengenharia-software\u002Fcap-05","1.engenharia-software\u002F06.cap-05",{"title":37,"path":38,"stem":39},"Cap 06: Elicitação e Levantamento","\u002Fengenharia-software\u002Fcap-06","1.engenharia-software\u002F07.cap-06",{"title":41,"path":42,"stem":43},"Cap 07: Especificação de Requisitos (ERS)","\u002Fengenharia-software\u002Fcap-07","1.engenharia-software\u002F08.cap-07",{"title":45,"path":46,"stem":47},"Cap 08: Validação e Gestão","\u002Fengenharia-software\u002Fcap-08","1.engenharia-software\u002F09.cap-08",{"title":49,"path":50,"stem":51},"Cap 09: Fundamentos da Modelagem","\u002Fengenharia-software\u002Fcap-09","1.engenharia-software\u002F10.cap-09",{"title":53,"path":54,"stem":55},"Cap 10: Diagrama de Casos de Uso (Conceitos)","\u002Fengenharia-software\u002Fcap-10","1.engenharia-software\u002F11.cap-10",{"title":57,"path":58,"stem":59},"Cap 11: Casos de Uso (Prática e Relações)","\u002Fengenharia-software\u002Fcap-11","1.engenharia-software\u002F12.cap-11",{"title":61,"path":62,"stem":63},"Cap 12: Diagrama de Classes (Conceitos)","\u002Fengenharia-software\u002Fcap-12","1.engenharia-software\u002F13.cap-12",{"title":65,"path":66,"stem":67},"Cap 13: Herança e Polimorfismo","\u002Fengenharia-software\u002Fcap-13","1.engenharia-software\u002F14.cap-13",{"title":69,"path":70,"stem":71},"Cap 14: Diagrama de Sequência","\u002Fengenharia-software\u002Fcap-14","1.engenharia-software\u002F15.cap-14",{"title":73,"path":74,"stem":75},"Cap 15: Diagramas Dinâmicos (Estados e Atividades)","\u002Fengenharia-software\u002Fcap-15","1.engenharia-software\u002F16.cap-15",{"title":77,"path":78,"stem":79},"Cap 16: Qualidade de Software (SQA)","\u002Fengenharia-software\u002Fcap-16","1.engenharia-software\u002F17.cap-16",{"title":81,"path":82,"stem":83},"Cap 17: Estratégias de Teste","\u002Fengenharia-software\u002Fcap-17","1.engenharia-software\u002F18.cap-17",{"title":85,"path":86,"stem":87},"Cap 18: Manutenção e Evolução","\u002Fengenharia-software\u002Fcap-18","1.engenharia-software\u002F19.cap-18",{"title":89,"path":90,"stem":91},"Cap 19: Gerência de Configuração (SCM)","\u002Fengenharia-software\u002Fcap-19","1.engenharia-software\u002F20.cap-19",{"title":93,"path":94,"stem":95},"Cap 20: Conclusão e Próximos Passos","\u002Fengenharia-software\u002Fcap-20","1.engenharia-software\u002F21.cap-20",{"title":97,"icon":98,"path":99,"stem":100,"children":101},"🛠️ Atividades","i-lucide-wrench","\u002Fatividades","2.atividades",[102,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185],{"title":103,"path":99,"stem":104},"📋 Orientações Gerais","2.atividades\u002Findex",{"title":106,"path":107,"stem":108},"📅 Cronograma","\u002Fatividades\u002Fcronograma","2.atividades\u002F01.cronograma",{"title":110,"path":111,"stem":112},"✏️ Atividade 01: Escopo e Personas","\u002Fatividades\u002Fatv-01-escopo","2.atividades\u002F02.atv-01-escopo",{"title":114,"path":115,"stem":116},"⚙️ Atividade 02: Processos de Software","\u002Fatividades\u002Fatv-02-processos","2.atividades\u002F03.atv-02-processos",{"title":118,"path":119,"stem":120},"📋 Atividade 03: Engenharia de Requisitos","\u002Fatividades\u002Fatv-03-requisitos","2.atividades\u002F04.atv-03-requisitos",{"title":122,"path":123,"stem":124},"📝 Atividade 04: User Stories e Backlog","\u002Fatividades\u002Fatv-04-backlog","2.atividades\u002F05.atv-04-backlog",{"title":126,"path":127,"stem":128},"🎭 Atividade 05: Casos de Uso (UML)","\u002Fatividades\u002Fatv-05-casos-uso","2.atividades\u002F06.atv-05-casos-uso",{"title":130,"path":131,"stem":132},"🖼️ Atividade 06: Prototipagem e Wireframes","\u002Fatividades\u002Fatv-06-prototipagem","2.atividades\u002F07.atv-06-prototipagem",{"title":134,"path":135,"stem":136},"🏛️ Atividade 07: Diagrama de Classes (UML)","\u002Fatividades\u002Fatv-07-classes","2.atividades\u002F08.atv-07-classes",{"title":138,"path":139,"stem":140},"🔀 Atividade 08: Diagrama de Sequência (UML)","\u002Fatividades\u002Fatv-08-sequencia","2.atividades\u002F09.atv-08-sequencia",{"title":142,"path":143,"stem":144},"🧪 Atividade 09: Qualidade e Testes","\u002Fatividades\u002Fatv-09-testes","2.atividades\u002F10.atv-09-testes",{"title":146,"path":147,"stem":148},"🏁 Atividade 10: Projeto Integrador Final","\u002Fatividades\u002Fatv-10-projeto-final","2.atividades\u002F11.atv-10-projeto-final",{"title":150,"path":151,"stem":152},"📊 Atividade 11: Diagrama de Atividades (UML)","\u002Fatividades\u002Fatv-11-atividades","2.atividades\u002F12.atv-11-atividades",{"title":154,"path":155,"stem":156},"🔄 Atividade 12: Diagrama de Transição de Estados (UML)","\u002Fatividades\u002Fatv-12-estados","2.atividades\u002F13.atv-12-estados",{"title":158,"path":159,"stem":160},"🏗️ Atividade 13: Arquitetura de Software e Padrões","\u002Fatividades\u002Fatv-13-arquitetura","2.atividades\u002F14.atv-13-arquitetura",{"title":162,"path":163,"stem":164},"🌐 Atividade 14: Modelagem de APIs REST e Swagger","\u002Fatividades\u002Fatv-14-apis-swagger","2.atividades\u002F15.atv-14-apis-swagger",{"title":166,"path":167,"stem":168},"🌿 Atividade 15: GitFlow e Trabalho Colaborativo","\u002Fatividades\u002Fatv-15-gitflow-colaboracao","2.atividades\u002F16.atv-15-gitflow-colaboracao",{"title":170,"path":171,"stem":172},"🚀 Atividade 16: Pipelines de CI\u002FCD com GitHub Actions","\u002Fatividades\u002Fatv-16-pipelines-cicd","2.atividades\u002F17.atv-16-pipelines-cicd",{"title":174,"path":175,"stem":176},"🐳 Atividade 17: Containerização de Ambientes com Docker","\u002Fatividades\u002Fatv-17-conteineres-docker","2.atividades\u002F18.atv-17-conteineres-docker",{"title":178,"path":179,"stem":180},"🔒 Atividade 18: Segurança no Desenvolvimento e OWASP","\u002Fatividades\u002Fatv-18-seguranca-devsecops","2.atividades\u002F19.atv-18-seguranca-devsecops",{"title":182,"path":183,"stem":184},"📈 Atividade 19: Métricas de Software, Estimativas e DORA","\u002Fatividades\u002Fatv-19-metricas-estimativas","2.atividades\u002F20.atv-19-metricas-estimativas",{"title":186,"path":187,"stem":188},"🏆 Atividade 20: Projeto Final Avançado (Fase 2)","\u002Fatividades\u002Fatv-20-projeto-final-avancado","2.atividades\u002F21.atv-20-projeto-final-avancado",{"title":190,"icon":191,"path":192,"stem":193,"children":194},"🖼️ Galeria de Projetos Integradores","i-lucide-image","\u002Fprojetos-integradores","3.projetos-integradores",[195,197,207,216,225,234,243],{"title":190,"path":192,"stem":196},"3.projetos-integradores\u002Findex",{"title":198,"path":199,"stem":200,"children":201},"🅿️ Projeto 01: Gestão de Estacionamentos","\u002Fprojetos-integradores\u002Fpi-01-gestao-estacionamentos","3.projetos-integradores\u002F01.pi-01-gestao-estacionamentos\u002Findex",[202,203],{"title":198,"path":199,"stem":200},{"title":204,"path":205,"stem":206},"README","\u002Fprojetos-integradores\u002Fpi-01-gestao-estacionamentos\u002Freadme","3.projetos-integradores\u002F01.pi-01-gestao-estacionamentos\u002F2.readme",{"title":208,"path":209,"stem":210,"children":211},"🔐 Projeto 02: Gerador de Senhas","\u002Fprojetos-integradores\u002Fpi-02-gerador-senhas","3.projetos-integradores\u002F02.pi-02-gerador-senhas\u002Findex",[212,213],{"title":208,"path":209,"stem":210},{"title":204,"path":214,"stem":215},"\u002Fprojetos-integradores\u002Fpi-02-gerador-senhas\u002Freadme","3.projetos-integradores\u002F02.pi-02-gerador-senhas\u002F2.readme",{"title":217,"path":218,"stem":219,"children":220},"🍣 Projeto 03: Pedidos Restaurante","\u002Fprojetos-integradores\u002Fpi-03-pedidos-restaurante","3.projetos-integradores\u002F03.pi-03-pedidos-restaurante\u002Findex",[221,222],{"title":217,"path":218,"stem":219},{"title":204,"path":223,"stem":224},"\u002Fprojetos-integradores\u002Fpi-03-pedidos-restaurante\u002Freadme","3.projetos-integradores\u002F03.pi-03-pedidos-restaurante\u002F2.readme",{"title":226,"path":227,"stem":228,"children":229},"📱 Projeto 04: Empréstimos Dispositivos","\u002Fprojetos-integradores\u002Fpi-04-emprestimos-dispositivos","3.projetos-integradores\u002F04.pi-04-emprestimos-dispositivos\u002Findex",[230,231],{"title":226,"path":227,"stem":228},{"title":204,"path":232,"stem":233},"\u002Fprojetos-integradores\u002Fpi-04-emprestimos-dispositivos\u002Freadme","3.projetos-integradores\u002F04.pi-04-emprestimos-dispositivos\u002F2.readme",{"title":235,"path":236,"stem":237,"children":238},"📦 Projeto 05: Gestão de Estoque","\u002Fprojetos-integradores\u002Fpi-05-gestao-estoque","3.projetos-integradores\u002F05.pi-05-gestao-estoque\u002Findex",[239,240],{"title":235,"path":236,"stem":237},{"title":204,"path":241,"stem":242},"\u002Fprojetos-integradores\u002Fpi-05-gestao-estoque\u002Freadme","3.projetos-integradores\u002F05.pi-05-gestao-estoque\u002F2.readme",{"title":244,"path":245,"stem":246,"children":247},"🛵 Projeto 06: Aplicativo de Delivery","\u002Fprojetos-integradores\u002Fpi-06-delivery","3.projetos-integradores\u002F06.pi-06-delivery\u002Findex",[248,249],{"title":244,"path":245,"stem":246},{"title":204,"path":250,"stem":251},"\u002Fprojetos-integradores\u002Fpi-06-delivery\u002Freadme","3.projetos-integradores\u002F06.pi-06-delivery\u002F2.readme",{"id":253,"title":204,"body":254,"description":684,"extension":685,"links":686,"meta":687,"navigation":688,"path":241,"seo":689,"stem":242,"__hash__":690},"docs\u002F3.projetos-integradores\u002F05.pi-05-gestao-estoque\u002F2.readme.md",{"type":255,"value":256,"toc":658},"minimark",[257,270,273,278,306,308,312,317,343,347,361,365,368,372,383,387,390,394,397,401,404,424,426,430,437,494,501,503,513,516,518,522,526,529,532,538,542,552,555,557,560,564,567,570,572,576,579,618,620,624,648,651],[258,259,260,261,265,266,269],"p",{},"Abaixo, apresento a estruturação técnica detalhada, aplicando os princípios de ",[262,263,264],"strong",{},"Engenharia de Software"," e ",[262,267,268],{},"Banco de Dados"," compatíveis com o ecossistema acadêmico.",[271,272],"hr",{},[274,275,277],"h2",{"id":276},"_1-contexto-do-projeto","1. Contexto do Projeto",[279,280,281,288,294,300],"ul",{},[282,283,284,287],"li",{},[262,285,286],{},"Título:"," Sistema de Gerenciamento de Estoque Digital.",[282,289,290,293],{},[262,291,292],{},"Objetivo:"," Gerenciar o controle de entrada, saída e a organização dos produtos em estoque de forma automatizada.",[282,295,296,299],{},[262,297,298],{},"Problema a Resolver:"," Eliminar erros recorrentes do controle manual de mercadorias e otimizar a organização logística.",[282,301,302,305],{},[262,303,304],{},"Público-alvo:"," Pequenos estabelecimentos ou almoxarifados que necessitam de uma solução simples e eficiente.",[271,307],{},[274,309,311],{"id":310},"_2-engenharia-de-software","2. Engenharia de Software",[313,314,316],"h3",{"id":315},"_21-requisitos-funcionais-rf","2.1 Requisitos Funcionais (RF)",[279,318,319,325,331,337],{},[282,320,321,324],{},[262,322,323],{},"RF-001:"," O sistema deve permitir o registro de entrada de novos produtos (nome e quantidade).",[282,326,327,330],{},[262,328,329],{},"RF-002:"," O sistema deve permitir o registro de saída de produtos do estoque.",[282,332,333,336],{},[262,334,335],{},"RF-003:"," O sistema deve disponibilizar uma função de consulta para verificar a disponibilidade de produtos.",[282,338,339,342],{},[262,340,341],{},"RF-004:"," O sistema deve atualizar o saldo total automaticamente após cada operação de entrada ou saída.",[313,344,346],{"id":345},"_22-requisitos-não-funcionais-rnf","2.2 Requisitos Não Funcionais (RNF)",[279,348,349,355],{},[282,350,351,354],{},[262,352,353],{},"RNF-001 (Integridade):"," O sistema deve garantir que não existam quantidades negativas no estoque.",[282,356,357,360],{},[262,358,359],{},"RNF-002 (Usabilidade):"," A interface deve ser focada em buscas rápidas para facilitar a consulta durante a operação.",[313,362,364],{"id":363},"_23-diagrama-de-casos-de-uso-uml","2.3 Diagrama de Casos de Uso (UML)",[258,366,367],{},"O fluxo foca na simplicidade operacional para evitar o retrabalho do controle manual.",[369,370],"mermaid",{"code":371},"flowchart LR\n    Op((\"Almoxarife \u002F Operador\"))\n\n    subgraph Sistema [\"Sistema de Estoque\"]\n        direction TB\n        UC1([\"Registrar Entrada de Mercadoria\"])\n        UC2([\"Registrar Saída de Mercadoria\"])\n        UC3([\"Consultar Saldo de Produto\"])\n        UC4([\"Gerar Relatório de Inventário\"])\n    end\n\n    Op --> UC1\n    Op --> UC2\n    Op --> UC3\n    Op --> UC4\n",[274,373,375,378],{"id":374},"versão-em-svg-diagrama-de-casos-de-uso",[262,376,377],{},"Versão em SVG (Diagrama de Casos de Uso):",[379,380],"img",{"alt":381,"src":382},"Diagrama de Casos de Uso","\u002Fimg\u002Fprojetos-integradores\u002Fpi-05-gestao-estoque\u002Fusecase_estoque.svg",[274,384,386],{"id":385},"_3-banco-de-dados-mysql","3. Banco de Dados (MySQL)",[258,388,389],{},"Utilizando a stack que você aplica em seus planos de aula (Java\u002FMySQL), a estrutura de dados é desenhada para ser leve e escalável.",[313,391,393],{"id":392},"_31-modelo-entidade-relacionamento-mer","3.1 Modelo Entidade-Relacionamento (MER)",[369,395],{"code":396},"erDiagram\n    PRODUTO ||--o{ MOVIMENTACAO : \"possui\"\n    PRODUTO {\n        int id_produto PK\n        string nome_produto\n        int quantidade_atual\n    }\n    MOVIMENTACAO {\n        int id_mov PK\n        int id_produto FK\n        enum tipo \"entrada\u002Fsaida\"\n        int quantidade\n        datetime data_hora\n    }\n",[313,398,400],{"id":399},"_32-melhorias-sugeridas-implementadas","3.2 Melhorias Sugeridas Implementadas",[258,402,403],{},"Para elevar o projeto de uma simples planilha para um sistema profissional de engenharia:",[279,405,406,412,418],{},[282,407,408,411],{},[262,409,410],{},"Histórico de Movimentação:"," Adição de uma tabela de log para rastrear quem alterou o estoque e quando, aumentando a segurança.",[282,413,414,417],{},[262,415,416],{},"Alerta de Estoque Baixo:"," Implementação de uma sinalização visual (cor vermelha) na interface quando um produto atingir uma quantidade mínima crítica.",[282,419,420,423],{},[262,421,422],{},"Normalização:"," Separação entre o cadastro do produto e o fluxo de movimentação para manter a integridade dos dados históricos.",[271,425],{},[274,427,429],{"id":428},"_4-prompt-para-google-stitch-interface-stockflow","4. Prompt para Google Stitch: Interface \"StockFlow\"",[258,431,432,433,436],{},"Copie e cole este comando no ",[262,434,435],{},"Google Stitch"," para gerar a prototipagem rápida da interface:",[438,439,440,461,488],"blockquote",{},[258,441,442,445,446,449,450,453,454,457,458],{},[262,443,444],{},"Atuar como:"," Designer de UI focado em sistemas ERP e Logística.\n",[262,447,448],{},"Contexto:"," Criar a interface para o projeto \"StockFlow\" — Gerenciamento de Estoque Digital. A interface deve ser baseada em ",[262,451,452],{},"Java\u002FSpring Boot"," para o back-end e ",[262,455,456],{},"HTML5\u002FCSS3"," para o front-end.\n",[262,459,460],{},"Componentes Necessários:",[462,463,464,470,476,482],"ol",{},[282,465,466,469],{},[262,467,468],{},"Dashboard de Resumo:"," Cards com \"Total de Itens em Estoque\", \"Produtos Esgotados\" e \"Movimentações Hoje\".",[282,471,472,475],{},[262,473,474],{},"Barra de Consulta:"," Campo de busca proeminente para localizar produtos pelo nome e verificar quantidade disponível.",[282,477,478,481],{},[262,479,480],{},"Módulo de Lançamento:"," Formulário simples para registrar entradas e saídas, selecionando o produto e a quantidade.",[282,483,484,487],{},[262,485,486],{},"Lista de Inventário:"," Tabela exibindo o nome do produto e a quantidade atual, com cores de destaque para itens com poucas unidades.",[258,489,490,493],{},[262,491,492],{},"Estilo:"," Visual \"Industrial Clean\" com tons de cinza, branco e acenos em azul corporativo para passar seriedade e organização.",[258,495,496,497,500],{},"Este projeto está pronto para ser documentado em seus fluxos de ",[262,498,499],{},"Markdown"," ou integrado a um monorepo de ensino.",[271,502],{},[258,504,505,506,508,509,512],{},"Com base nas diretrizes de ",[262,507,264],{}," e na sua experiência em arquiteturas de sistemas integrados, apresento o detalhamento técnico avançado do projeto ",[262,510,511],{},"Gerenciamento de Estoque",".",[258,514,515],{},"Nesta fase, elevamos a estrutura básica para um nível profissional, focando na integridade dos dados e na rastreabilidade operacional necessária para evitar erros manuais.",[271,517],{},[274,519,521],{"id":520},"_2-engenharia-de-software-avançada","2. Engenharia de Software (Avançada)",[313,523,525],{"id":524},"_24-diagrama-de-casos-de-uso-uml","2.4 Diagrama de Casos de Uso (UML)",[258,527,528],{},"O diagrama abaixo detalha as interações críticas para resolver o problema da falta de organização e erros no controle manual.",[369,530],{"code":531},"flowchart LR\n    Al((\"Almoxarife\"))\n    Ge((\"Gerente de Estoque\"))\n\n    subgraph Sistema [\"Sistema de Estoque (StockFlow)\"]\n        direction TB\n        UC1([\"Cadastrar Novo Item\"])\n        UC2([\"Registrar Entrada (Compra\u002FReposição)\"])\n        UC3([\"Registrar Saída (Venda\u002FUso)\"])\n        UC4([\"Consultar Disponibilidade\"])\n        UC5([\"Gerar Relatório de Auditoria\"])\n        UC6([\"Configurar Alerta de Estoque Baixo\"])\n    end\n\n    Al --> UC1\n    Al --> UC2\n    Al --> UC3\n    Al --> UC4\n    Ge --> UC4\n    Ge --> UC5\n    Ge --> UC6\n    UC2 -.->|\u003C\u003Cinclude>>| UC4\n    UC3 -.->|\u003C\u003Cinclude>>| UC4\n",[258,533,534,536],{},[262,535,377],{},[379,537],{"alt":381,"src":382},[313,539,541],{"id":540},"_25-diagrama-de-classes-domínio","2.5 Diagrama de Classes (Domínio)",[258,543,544,545,265,548,551],{},"Estrutura de classes utilizando os princípios de ",[262,546,547],{},"SOLID",[262,549,550],{},"Orientação a Objetos"," para garantir que a lógica de cálculo de estoque seja centralizada e segura.",[369,553],{"code":554},"classDiagram\n    class Produto {\n        +int id\n        +String nome\n        +int quantidadeTotal\n        +int nivelMinimo\n        +adicionar(qtd: int)\n        +remover(qtd: int)\n        +verificarAlerta() Boolean\n    }\n    class Movimentacao {\n        +int id\n        +Enum tipo\n        +int quantidade\n        +DateTime dataHora\n        +String observacao\n    }\n    class EstoqueService {\n        +processarEntrada(p: Produto, qtd: int)\n        +processarSaida(p: Produto, qtd: int)\n        +gerarInventario() List\n    }\n\n    EstoqueService o-- Produto : gerencia\n    Produto \"1\" -- \"0..*\" Movimentacao : possui histórico\n",[271,556],{},[274,558,386],{"id":559},"_3-banco-de-dados-mysql-1",[313,561,563],{"id":562},"_31-mer-modelo-entidade-relacionamento","3.1 MER - Modelo Entidade-Relacionamento",[258,565,566],{},"A estrutura foi aprimorada para garantir que todo fluxo de entrada e saída gere um registro histórico, eliminando a \"falta de controle eficiente\".",[369,568],{"code":569},"erDiagram\n    PRODUTO ||--o{ HISTORICO : \"possui\"\n    CATEGORIA ||--o{ PRODUTO : \"classifica\"\n    \n    PRODUTO {\n        int id_produto PK\n        string nome_produto\n        int quantidade_atual\n        int nivel_critico\n        int id_categoria FK\n    }\n    \n    HISTORICO {\n        int id_mov PK\n        int id_produto FK\n        enum tipo_mov \"entrada\u002Fsaida\"\n        int quantidade\n        datetime data_hora\n    }\n    \n    CATEGORIA {\n        int id_categoria PK\n        string nome_categoria\n    }\n",[271,571],{},[274,573,575],{"id":574},"_4-detalhamento-das-melhorias-sugeridas","4. Detalhamento das Melhorias Sugeridas",[258,577,578],{},"Para resolver os problemas operacionais e de organização citados, as seguintes funcionalidades foram detalhadas:",[279,580,581,587,602,608],{},[282,582,583,586],{},[262,584,585],{},"Validação de Ruptura de Estoque:"," O sistema impede tecnicamente o registro de saída se a quantidade solicitada for superior ao saldo atual, emitindo um erro imediato.",[282,588,589,592,593,597,598,601],{},[262,590,591],{},"Gestão de Nível Crítico:"," Adição do campo ",[594,595,596],"code",{},"nivel_critico"," no banco de dados. Quando a ",[594,599,600],{},"quantidade_atual"," for menor ou igual a este valor, o sistema dispara um alerta visual na consulta de produtos.",[282,603,604,607],{},[262,605,606],{},"Trilha de Auditoria:"," Cada entrada ou saída é vinculada a um timestamp automático, permitindo que o gestor identifique em qual momento exato ocorreu um desvio de mercadoria.",[282,609,610,613,614,617],{},[262,611,612],{},"Normalização por Categorias:"," Introdução da tabela ",[594,615,616],{},"CATEGORIA"," para melhorar a organização e busca de produtos por grupos (ex: Limpeza, Perecíveis, Eletrônicos), resolvendo a \"dificuldade na organização\".",[271,619],{},[274,621,623],{"id":622},"_5-próximos-passos-evolução-técnica","5. Próximos Passos (Evolução Técnica)",[462,625,626,632,638],{},[282,627,628,631],{},[262,629,630],{},"Scanner de Código de Barras:"," Integrar uma API de leitura para acelerar a entrada e saída, reduzindo ainda mais o erro humano do controle manual.",[282,633,634,637],{},[262,635,636],{},"Dashboard de Giro:"," Criar uma visão analítica que aponte quais produtos têm maior saída, auxiliando na decisão de compra.",[282,639,640,643,644,647],{},[262,641,642],{},"Persistência com Java\u002FJPA:"," Implementar a camada de acesso a dados utilizando ",[262,645,646],{},"Hibernate"," para garantir a integridade das transações no MySQL.",[258,649,650],{},"Este projeto está estruturado para ser uma solução escalável, pronta para migração de um protótipo simples para um sistema de gestão robusto.",[258,652,653,654,657],{},"Qual dessas camadas você gostaria de codificar primeiro no ",[262,655,656],{},"IntelliJ IDEA","?",{"title":659,"searchDepth":660,"depth":661,"links":662},"",2,3,[663,664,669,670,674,675,679,682,683],{"id":276,"depth":660,"text":277},{"id":310,"depth":660,"text":311,"children":665},[666,667,668],{"id":315,"depth":661,"text":316},{"id":345,"depth":661,"text":346},{"id":363,"depth":661,"text":364},{"id":374,"depth":660,"text":377},{"id":385,"depth":660,"text":386,"children":671},[672,673],{"id":392,"depth":661,"text":393},{"id":399,"depth":661,"text":400},{"id":428,"depth":660,"text":429},{"id":520,"depth":660,"text":521,"children":676},[677,678],{"id":524,"depth":661,"text":525},{"id":540,"depth":661,"text":541},{"id":559,"depth":660,"text":386,"children":680},[681],{"id":562,"depth":661,"text":563},{"id":574,"depth":660,"text":575},{"id":622,"depth":660,"text":623},"Este novo projeto, intitulado Gerenciamento de Estoque, consolida sua experiência em sistemas de controle de fluxo e organização de dados estruturados.","md",null,{},true,{"title":204,"description":684},"HaaVVE39MTgLGf6mVUMeWOZ30x18wf_N9Ok0NZiL_M0",[692,693],{"title":235,"path":236,"stem":237,"description":659,"children":-1},{"title":244,"path":245,"stem":246,"description":659,"children":-1},1788375148001]