Ecommerce Template
Modern ecommerce template built with Next.js 16, React 19, Drizzle, Better Auth, Supabase, and Stripe.
Digital menu and ordering for restaurants, snack bars and pizzerias. Order directly from the restaurant, no hassle.
AI translation
Cardápio digital e pedidos para restaurantes, lanchonetes e pizzarias. Peça direto do restaurante, sem complicação.
CommerceTypeScript · JavaScriptGitHub @ViniciosmunuzOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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
Loading the full README. The saved excerpt is shown below.
Seu cardápio, mais perto do cliente. Plataforma de cardápio digital e pedidos para restaurantes, lanchonetes e pizzarias. Três níveis de acesso: • Administrador da plataforma: cadastra, implanta, libera e gerencia qualquer restaurante (inclusive o cardápio), com a própria conta. • Dono do restaurante: gerencia só o próprio estabelecimento. • Cliente: faz pedidos sem precisar de conta. Next.js 16 (App Router) · TypeScript · Tailwind CSS 4 · PostgreSQL (Neon) · Prisma 7 · login próprio com sessões no banco.Read the full README ↗
Seu cardápio, mais perto do cliente.
Plataforma de cardápio digital e pedidos para restaurantes, lanchonetes e pizzarias. Três níveis de acesso:
Next.js 16 (App Router) · TypeScript · Tailwind CSS 4 · PostgreSQL (Neon) · Prisma 7 · login próprio com sessões no banco.
npm install
cp .env.example .env # preencha DATABASE_URL e ADMIN_EMAIL
npm run db:migrate # cria as tabelas
npm run db:seed # admin, categorias e (opcional) restaurantes de demonstração
npm run dev # http://localhost:3000
O seed mostra no terminal as senhas provisórias. Elas precisam ser trocadas no primeiro acesso.
Sem banco na nuvem, dá para usar um PostgreSQL local do próprio Prisma:
npx prisma dev --name menufacil --detach
Ele mostra o endereço TCP (postgres://postgres:postgres@localhost:.../template1).
Use esse endereço no DATABASE_URL e o do banco sombra (a porta seguinte) no
SHADOW_DATABASE_URL.
O projeto menufacil na Vercel publica sozinho a cada push no main.
DATABASE
(DATABASE_URL com pooler para o app, DATABASE_URL_UNPOOLED para as
migrations).BLOB_READ_WRITE_TOKEN.vercel-build roda prisma migrate deploy, o seed
(não duplica nada) e o next build.ADMIN_EMAIL nas variáveis da Vercel. No primeiro deploy, a
senha provisória aparece no log do build e precisa ser trocada no
primeiro acesso.WHATSAPP_PROVIDER=mock até a conta da Meta estar pronta.
As outras variáveis estão no .env.example.prisma/schema.prisma: o banco (usuários, restaurantes, cardápio,
pedidos, pagamentos, WhatsApp e auditoria).src/server/auth/: sessões, senhas e a camada de acesso (dal.ts), que
confere quem pode ver e mexer em cada restaurante.src/app/admin/: painel do administrador da plataforma.src/app/painel/[restaurantId]/: painel do restaurante, usado pelo dono e
pelo admin no modo "gerenciar restaurante".src/proxy.ts: redirecionamento otimista para o login.restaurantId, e toda consulta do
painel filtra por ele depois de requireRestaurantAccess.Int), nunca em ponto flutuante.