Estudo de caso

Chalé Guadalupe

Sistema de pedidos, reservas e gestão para um restaurante mexicano de Franca/SP, publicado no domínio próprio do restaurante.

Estágio
Publicado
Período
2026
Papel
Desenvolvimento e entrega
Tipo
Projeto para cliente
Página inicial do site do Chalé Guadalupe
Página inicial com acesso à marmita, ao cardápio e ao rodízio.

O problema

O Chalé Guadalupe atende em várias frentes: marmitas no almoço, cardápio à la carte à noite, rodízio mexicano e reservas para o jantar, além de vender pelo iFood e pelo 99Food.

O sistema foi construído para dar ao restaurante um canal de pedidos próprio que respeitasse as regras de cada frente (horários diferentes para marmita e à la carte, entrega ou retirada, frete por bairro ou cidade, várias formas de pagamento) e para reunir pedidos, reservas e cardápio do dia em um só painel.

A solução

Um site do restaurante com pedido online: o cliente monta a marmita ou escolhe pratos e combos do cardápio, informa o endereço pelo CEP, vê o frete e o total antes de enviar e acompanha o status do pedido por um link.

Do outro lado, um painel administrativo recebe os pedidos em tempo real, envia mensagens automáticas de status pelo WhatsApp, imprime a comanda na impressora térmica e reúne cardápio do dia, reservas, configurações e relatórios.

Minha participação

Desenvolvi o site e o sistema de pedidos do restaurante, incluindo cardápio à la carte, montagem de marmitas, reservas e painel administrativo. Modelei os dados de pedidos, cardápio e reservas, implementei a integração de mensagens pelo WhatsApp e a impressão de comandas. Após a publicação, fiz ajustes nos fluxos e na operação do sistema.

Funcionalidades confirmadas no código

  • Montador de marmitas com tamanhos, preços e limites por categoria definidos pelo restaurante.
  • Várias marmitas no mesmo pedido, cada uma com nome e forma de pagamento próprios.
  • Cardápio à la carte por categoria, com busca e combos com escolha de sabor por item.
  • Entrega ou retirada, endereço preenchido pelo CEP, frete por bairro ou cidade e frete grátis acima de um valor.
  • Horários de funcionamento por tipo de pedido, com aviso quando o restaurante está fechado.
  • Página de acompanhamento do pedido com a linha do tempo de status.
  • Reserva para o jantar, aceita apenas nos dias de funcionamento.
  • Pedidos em tempo real, com alerta sonoro, notificação do navegador e aviso na aba.
  • Mensagem automática ao cliente pelo WhatsApp a cada mudança de status, além do envio da chave PIX.
  • Comanda formatada para impressora térmica de 58 mm, com largura, fonte e espaçamento configuráveis.
  • Cadastro de alimentos, publicação do cardápio do dia e cópia do cardápio pronto para o WhatsApp.
  • Painel do dia, gráfico dos últimos 7 dias e relatórios por período: faturamento, itens, marmitas, bairros e reservas.
  • Configurações de tamanhos, frete, cidades atendidas, chave PIX, impressora e abertura ou fechamento manual da loja.

Telas públicas

Cardápio à la carte do Chalé Guadalupe com combos
Cardápio à la carte, organizado por categoria.
Montador de marmitas do Chalé Guadalupe com prévia do pedido
Montador de marmitas com prévia do pedido, frete e total.

As imagens mostram apenas páginas públicas, sem dados de clientes. O painel administrativo e o site publicado não são exibidos nem linkados aqui.

Desafios técnicos

Impressão térmica sem software extra

Cheguei a integrar a impressão direta com o QZ Tray, que depende de um programa instalado e de certificado na máquina do restaurante, e depois removi essa integração. A versão final imprime pelo navegador, em uma janela isolada com layout de 58 mm e o diálogo de impressão aberto automaticamente.

Não perder pedidos com a aba em segundo plano

O painel combina um Service Worker, a Web Notifications API, som de alerta e o título da aba piscando para avisar sobre pedidos novos mesmo quando o navegador não está em foco.

Totais consistentes em todos os canais

Subtotal, frete e total aparecem no site, no painel, na comanda e na mensagem de WhatsApp. Separei o subtotal dos itens do frete no modelo de dados para que o valor não fosse somado duas vezes em nenhum desses pontos.

Tecnologias

React 19
TypeScript
Vite
Tailwind CSS
shadcn/ui
Evolution API (WhatsApp)
ViaCEP
Service Worker
Web Notifications API