📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados na Matriz de 20 Capítulos de Aplicações Full Stack. Recomendado revisar antes de iniciar a execução.

🍣 PI 03 — ChefPoint (DoThi Sushi): Gestão Gastronômica & KDS

v1.0 — Projeto Integrador Full Stack para salão de restaurantes, comandas digitais por mesa, sistema de exibição de cozinha (KDS) em tempo real e controle de insumos.

Trilha de Especialização Pedagógica — Série Projetos Integradores (PI 3 de 6)

🎓 Nível Profissional Simulado: Desenvolvedor Full Stack Sênior / Arquiteto de Software Gastronômico. A operação de restaurantes exige sincronismo veloz e sem atrito entre o garçom no salão e a cozinha (sushiman). Dominar layouts reativos, filas operacionais (KDS), divisão inteligente de conta e fechamento financeiro consolida competências essenciais de engenharia de produto.


🏛️ Galeria Arquitetural & Diagramas de Engenharia

Arquitetura de Comunicação e Camadas da Solução Gastronômica

Arquitetura ChefPoint

Diagrama de Casos de Uso Formal (UML)

Casos de Uso DoThi Sushi


📁 Estrutura Canônica de Pastas Anti-Colisão

O projeto adota a convenção padronizada de subpastas por camada e tecnologia <camada>-<tecnologia>:

catalogo_projetos/fullstack_pi_03_chefpoint/
├── web-react/                  # SPA em React 18, Vite e TailwindCSS
│   ├── src/
│   │   ├── components/         # TableMap, DigitalOrder, KDSQueue, BillSplitter
│   │   ├── types/              # Definições TypeScript de ItemMenu, Pedido, Mesa
│   │   ├── utils/              # Cálculo de serviço, taxa de desperdício e divisão
│   │   ├── App.tsx             # Estado reativo unificado de mesas e cozinha
│   │   └── main.tsx            # Ponto de inicialização da SPA
│   ├── package.json            # Scripts de build, ícones e dependências
│   └── vite.config.ts          # Configuração do Vite
├── assets/                     # Galeria de diagramas vetoriais SVG autorais
├── README.md                   # Resumo do projeto integrador
└── Pedidos_DoThi_Sushi_Documentacao_Final.md # Especificação acadêmica e DDL de dados

🧑‍💼 Especificação Formal de Engenharia de Software

1. Histórias de Usuário (User Stories)

2. Requisitos Funcionais (RF)

3. Requisitos Não-Funcionais (RNF)


📐 Diagrama de Casos de Uso (Mermaid)

flowchart LR
    subgraph Atores
        Garcom["👤 Garçom"]
        Sushiman["👨‍🍳 Sushiman (Cozinha)"]
        Gerente["💼 Gerente"]
    end

    subgraph "Sistema ChefPoint (DoThi Sushi)"
        UC01["UC01: Gerenciar Status de Mesas"]
        UC02["UC02: Lançar Pedidos na Comanda"]
        UC03["UC03: Operar Painel KDS de Cozinha"]
        UC04["UC04: Ratear e Liquidar Conta"]
        UC05["UC05: Monitorar Faturamento e Estoque"]
    end

    Garcom --> UC01
    Garcom --> UC02
    Sushiman --> UC03
    Garcom --> UC04
    Gerente --> UC05

📊 Matriz de Rastreabilidade de Requisitos (RTM)

ID Requisito História de Usuário Caso de Uso Componente Frontend (web-react) Módulo de Negócio Status
RF-CP01 US-CP01 UC01 src/components/TableMap.tsx TableStateManager ✅ Coberto
RF-CP02 US-CP01 UC02 src/components/DigitalOrder.tsx OrderDispatcher ✅ Coberto
RF-CP03 US-CP02 / US-CP03 UC03 src/components/KDSQueue.tsx KitchenDisplayService ✅ Coberto
RF-CP04 US-CP04 UC04 src/components/BillSplitter.tsx FinancialCalculator ✅ Coberto
RF-CP05 US-CP05 UC04 / UC05 src/components/CheckoutModal.tsx CashierService ✅ Coberto

🚀 Roteiro de Execução & Homologação no Laboratório

1. Inicialização do Frontend ChefPoint (web-react)

cd catalogo_projetos/fullstack_pi_03_chefpoint/web-react

# Instalação das dependências
npm install

# Inicialização do servidor Vite
npm run dev

2. Leitura da Documentação Técnica


🧪 Matriz de Checkpoints de Homologação (CP-01 a CP-05)

Checkpoint Procedimento de Verificação Critério de Aceite Status
CP-01 Acessar a aplicação ChefPoint no navegador. Mapa do salão com mesas e resumo de ocupação exibido. PASS ✅
CP-02 Selecionar a Mesa 04 e adicionar 2x Combinado Salmão. Comanda atualizada com valor e opções de personalização. PASS ✅
CP-03 Alternar para a aba da Cozinha (KDS). Pedido da Mesa 04 exibido na fila com timer decorrido. PASS ✅
CP-04 Clicar em “Marcar como Pronto” no card KDS. Status do prato atualizado e notificação visual gerada. PASS ✅
CP-05 Realizar fechamento de mesa com divisão por 3 pessoas. Valor rateado com precisão de centavos e mesa liberada. PASS ✅