Ecommerce Template
Modern ecommerce template built with Next.js 16, React 19, Drizzle, Better Auth, Supabase, and Stripe.
Multi-tenant SaaS platform for pizzerias, food stores and delivery. Multichannel orders (own channel and iFood), menu, tables and tickets, deliveries, inventory, finance and customer store/PWA.
AI translation
Plataforma SaaS multi-tenant para pizzarias, lojas de alimentação e delivery. Pedidos multicanal (canal próprio e iFood), cardápio, mesas e comandas, entregas, estoque, financeiro e loja/PWA do client
CommerceTypeScript · CSSGitHub @sistemaelwo-creatorOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Multi-tenant SaaS platform for pizzerias, food stores and delivery. Multichannel orders (own channel and iFood), menu, tables and tickets, deliveries, inventory, finance and customer store/PWA. Built with React + TypeScript + Vite, API-first and multi-tenant architecture.
AI translation
Plataforma SaaS multi-tenant para pizzarias, lojas de alimentação e delivery. Pedidos multicanal (canal próprio e iFood), cardápio, mesas e comandas, entregas, estoque, financeiro e loja/PWA do cliente. React + TypeScript + Vite, arquitetura API-first e multi-tenant.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Plataforma SaaS multi-tenant para pizzarias, lojas de alimentação e delivery: pedidos multicanal (canal próprio e iFood), cardápio, mesas e comandas, entregas, estoque, financeiro, relatórios, marketing e loja online do cliente final. Estado atual: protótipo de frontend exportado do Google AI Studio, funcionando com dados mock (src/mockData.ts). Ainda não existe backend, banco ou autenticação real. A arquitetura-alvo (monólito modular, API-first, PostgreSQL, multi-tenant) está documentada no projeto de arquitetura do ELWO. Ver CLAUDE.md. Pré-requisitos: Node.js 20 ou superior.Read the full README ↗
Plataforma SaaS multi-tenant para pizzarias, lojas de alimentação e delivery: pedidos multicanal (canal próprio e iFood), cardápio, mesas e comandas, entregas, estoque, financeiro, relatórios, marketing e loja online do cliente final.
Estado atual: protótipo de frontend exportado do Google AI Studio, funcionando com dados mock (
src/mockData.ts). Ainda não existe backend, banco ou autenticação real. A arquitetura-alvo (monólito modular, API-first, PostgreSQL, multi-tenant) está documentada no projeto de arquitetura do ELWO. VerCLAUDE.md.
Pré-requisitos: Node.js 20 ou superior.
npm install
npm run dev # http://localhost:3000
Outros comandos:
npm run lint # checagem de tipos (tsc --noEmit)
npm run build # build de produção
npm run preview # servir o build localmente
Copie .env.example para .env.local e preencha o que for necessário. Nenhuma chave real vai para o repositório.
São duas aplicações no mesmo código e na mesma origem: o painel da pizzaria
em / e a loja online do cliente em /loja. Cada uma tem seu próprio ponto de
entrada; não existe roteador.
Mesma origem é requisito, não preferência: enquanto não há backend, cardápio e
pedido sincronizam por localStorage, que é por origem. Separar em domínios ou
subdomínios quebra a sincronia.
index.html entrada do admin -> src/main.tsx
loja/index.html entrada da loja -> src/main-loja.tsx
src/
main.tsx main-loja.tsx bootstrap do React
ErrorBoundary.tsx
index.css estilos globais
styles/ tokens de design
assets/images/ imagens do protótipo
admin/ painel da pizzaria
App.tsx roteamento de telas do admin
layout/ Header, Sidebar
modules/ telas por módulo (Início, Cardápio, Mesas, Entregas, ...)
modules/dashboard/ blocos do dashboard
orders/ fluxo de pedidos: modais, drawers, despacho, roteirização
dashboard/ KanbanBoard
utils/ routeOptimizer
loja/ loja online do cliente final (white-label)
LojaApp.tsx
LojaClientePWA.tsx
shared/ usado pelos dois lados
types.ts tipos do domínio
mockData.ts dados mock do protótipo (será substituído pela API)
ui/ componentes base (Button, FormModal, MetricCard, ...)
data/ catalogStore, orderStore, deliverySettingsStore
pricing/ regra de preço de meia a meia
ProductDetailWizard.tsx montador de pizza
O que está em shared/ está lá porque precisa ser único. O preço de uma
pizza meia a meia é calculado em shared/pricing/halfAndHalf.ts: se a loja e a
Central usassem cada uma a sua regra, o mesmo pedido fecharia com valores
diferentes e a diferença apareceria na baixa.
Alias de import: @/ aponta para src/.
CLAUDE.md — regras do projeto, decisões de arquitetura, vocabulário do domínio.AGENTS.md — regras visuais herdadas do protótipo.Software proprietário. Copyright © 2026 ELWO. Todos os direitos reservados.