Sistema de e-commerce gastronômico profissional de alta performance para pizzarias artesanais, composto por Área Pública (cardápio interativo, construtor de pizza meio a meio, carrinho e checkout) e Painel Administrativo em tempo real (Kanban de cozinha, alertas sonoros, controle de produtos e horários da loja).
- Frontend: Next.js (App Router), React 19, TypeScript (Strict Mode), Tailwind CSS, Lucide Icons
- Backend: Next.js Route Handlers / Server Actions, Supabase (@supabase/ssr, @supabase/supabase-js)
- Banco de Dados: PostgreSQL com Row Level Security (RLS) granular
- Realtime: Supabase Realtime (INSERT + UPDATE)
- Armazenamento: Supabase Storage (Upload com conversão client-side Canvas para WebP)
- Autenticação e RBAC: Supabase Auth com tabela
user_roles(admin vs staff) - Estado Local: Zustand com persistência controlada
- Testes: Vitest (Unitários e Integração)
- Runtime e Pacotes: Bun / Node.js 24
- O Backend é a Única Fonte da Verdade: O cliente envia apenas intenção. O servidor recalcula todos os preços, adicionais, bordas e taxas a partir do banco de dados.
- Moeda em Centavos Inteiros: Todos os cálculos monetários utilizam
centsinteiros (ex: R$ 25,90 =2590), eliminando discrepâncias de arredondamento por ponto flutuante. - Mocks Restritos a Testes: Implementações em memória existem exclusivamente para os testes automatizados com Vitest, emulando fielmente as regras do Supabase.
- Segurança por Padrão: Autenticação não concede automaticamente privilégios administrativos. Operações sensíveis são protegidas por funções
SECURITY DEFINERe RLS.
bun install(ou npm install)
Copie o arquivo de exemplo:
cp .env.example .env.localPreencha suas credenciais do Supabase:
NEXT_PUBLIC_SUPABASE_URL=https://sua-url.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=sua-chave-anon
SUPABASE_SERVICE_ROLE_KEY=sua-chave-service-rolenpm testnpm run typecheck
npm run lintnpm run buildnpm run devAcesse http://localhost:3000 para a loja pública e http://localhost:3000/admin para o painel operacional.
Toda a documentação técnica e viva é mantida na pasta docs/:
docs/ARCHITECTURE.md— Arquitetura detalhada em camadas e fluxo de dados.docs/DATA_MODEL.md— Modelo de entidades e esquemas SQL.docs/BUSINESS_RULES.md— Regras de precificação, meio a meio e horários.docs/SECURITY.md— Matriz de permissões RLS, RBAC e mitigação de ameaças.docs/TEST_PLAN.md— Pirâmide de testes e cenários de validação.docs/PROJECT_STATUS.md— Rastreamento de progresso e Quality Gates.docs/DECISIONS.md— Registros formais de decisões de arquitetura (ADRs).docs/PHASES.md— Roadmap fase a fase.docs/RELEASE_CHECKLIST.md— Checklist de prontidão para produção.docs/DEPLOY.md— Guia de implantação, Supabase, build, deploy e rollback.
Se este projeto ou código foi útil para você, considere apoiar o meu trabalho com uma doação espontânea de qualquer valor. Sua contribuição ajuda a manter o desenvolvimento de novas ferramentas e soluções open-source!
💠 Clique aqui para exibir os dados do PIX (Doação Voluntária)
- Chave PIX (ALEATORIA):
91afe4f0-a466-4423-9d9c-d6a0ffea9b3e - Banco: C6 Bank
- Titular: Wallace de Paulo Soares
Nota Legal: Contribuição 100% voluntária e espontânea de apoio ao desenvolvedor (Art. 538 do Código Civil).