Ecommerce Template
Next.js·React 등으로 만든 최신 전자상거래 템플릿
재고·배달·마켓플레이스·상업 SNS를 한 번에 제공하는 종합 플랫폼으로, 매장·판매자·구매자·배달원을 지원합니다
Plataforma completa de estoque, delivery, marketplace e rede social comercial — para lojas, vendedores, compradores e entregadores.
커머스TypeScript · JavaScriptGitHub @RafaelSigmaKK67온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Plataforma de estoque, delivery, marketplace e rede social comercial (Next.js + Prisma + Tailwind).
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Plataforma completa de estoque, delivery, marketplace e rede social comercial — para lojas, vendedores, compradores e entregadores. ComerziaHub reúne, em um só sistema, um controle de estoque, um aplicativo de delivery, um marketplace multi-lojas, um painel administrativo, uma rede social comercial, além de cashback, fidelidade e acompanhamento de pedidos. ⚠️ Projeto de referência / base real de um sistema completo. Vários módulos já são funcionais ponta a ponta; outros têm o modelo de dados e a estrutura prontos, com a UI completa no roadmap. Veja Status das funcionalidades.README 전문 보기 ↗
Plataforma completa de estoque, delivery, marketplace e rede social comercial — para lojas, vendedores, compradores e entregadores.
ComerziaHub reúne, em um só sistema, um controle de estoque, um aplicativo de delivery, um marketplace multi-lojas, um painel administrativo, uma rede social comercial, além de cashback, fidelidade e acompanhamento de pedidos.
⚠️ Projeto de referência / base real de um sistema completo. Vários módulos já são funcionais ponta a ponta; outros têm o modelo de dados e a estrutura prontos, com a UI completa no roadmap. Veja Status das funcionalidades.
app, components, lib, services, actions, types, prisma).Cada papel tem permissões e painel próprios (protegidos por middleware):
Hierarquia: ADMIN GERAL › DONO DE LOJA › VENDEDOR › ENTREGADOR › CLIENTE.
| Papel | Acesso | Painel |
|---|---|---|
Administrador (ADMIN) | Controla toda a plataforma | /admin |
Moderador (MODERATOR) | Rede social / denúncias | /admin/social |
Dono de loja (STORE_OWNER) | Sua loja, produtos, vendedores, pedidos, financeiro, cashback, fidelidade | /dashboard |
Vendedor (SELLER) | Vendas, pedidos, produtos e estoque da loja (sem config/financeiro) | /dashboard |
Cliente (CUSTOMER) | Compras, pedidos, cashback, fidelidade, mensagens, social | /account |
Entregador (COURIER) | Entregas, status, localização, ganhos | /courier |
(O papel legado
STORE_EMPLOYEEé tratado como Vendedor.)
.
├── app/ # Rotas (App Router)
│ ├── (public)/ # Site público: home, marketplace, loja, produto, carrinho, checkout, feed, pedido
│ ├── (auth)/ # Login, cadastro, recuperação de senha
│ ├── admin/ # Painel do administrador
│ ├── dashboard/ # Painel da loja
│ ├── account/ # Área do cliente
│ ├── courier/ # Painel do entregador
│ └── api/auth/ # Route handler do Auth.js
├── actions/ # Server Actions (auth, cart, orders, store, courier, account, social, admin)
├── components/ # UI, layout, commerce, social, dashboard, auth
├── lib/ # prisma, auth, rbac, utils, validations, delivery, cashback, loyalty, constants
├── services/ # Consultas ao banco (catalog, social, orders, cart, store, stats)
├── prisma/ # schema.prisma + seed.ts
├── styles/ # globals.css
├── types/ # tipos compartilhados + augmentation do next-auth
└── middleware.ts # Proteção de rotas por papel (Edge)
# 1. Instale as dependências
npm install
# 2. Configure as variáveis de ambiente
cp .env.example .env
# edite .env e preencha DATABASE_URL e AUTH_SECRET
# gere um segredo: npx auth secret (ou) openssl rand -base64 32
# 3. Crie as tabelas no banco
npm run db:push # rápido (sem histórico de migrations)
# ou, para gerar migrations versionadas:
npm run db:migrate
# 4. Popule com dados de exemplo
npm run db:seed
# 5. Rode em desenvolvimento
npm run dev
Acesse http://localhost:3000.
.env:
DATABASE_URL = Transaction pooler (porta 6543) com &pgbouncer=true no final;DIRECT_URL = conexão direta (porta 5432).
Se a senha tiver caracteres especiais, codifique-a na URL (ex.: @ vira %40).npm run db:push cria as tabelas e npm run db:seed popula os dados de exemplo —
visíveis depois no Table Editor do Supabase.Legado:
database/comerziahub.sqlé o dump da época do MySQL/XAMPP — não é compatível com PostgreSQL; ficou no repositório apenas como histórico.
| Comando | Descrição |
|---|---|
npm run db:generate | Gera o Prisma Client |
npm run db:push | Sincroniza o schema com o banco (sem migrations) |
npm run db:migrate | Cria/aplica migrations em desenvolvimento |
npm run db:deploy | Aplica migrations em produção |
npm run db:seed | Popula dados fictícios (usuários, lojas, produtos, pedidos, posts) |
npm run db:studio | Abre o Prisma Studio |
npm run db:reset | Apaga e recria o banco + seed |
O schema (prisma/schema.prisma) cobre ~40 modelos: usuários, perfis, permissões, lojas, vendedores, produtos, categorias, variações, estoque/movimentações, carrinho, pedidos, itens, pagamentos, entregas, entregadores, endereços, avaliações, cashback (regras/transações/carteira), fidelidade (níveis/status/emblemas), cupons, publicações, comentários, curtidas, seguidores, amizades, mensagens, notificações, denúncias, planos, assinaturas e configurações.
Copie .env.example para .env. Principais:
| Variável | Obrigatória | Descrição |
|---|---|---|
DATABASE_URL | ✅ | Conexão PostgreSQL pooled do Supabase (porta 6543, ?pgbouncer=true) |
DIRECT_URL | ✅ | Conexão PostgreSQL direta do Supabase (porta 5432) — usada por db:push/migrations |
AUTH_SECRET | ✅ | Segredo do Auth.js (npx auth secret) |
AUTH_URL / NEXTAUTH_URL | ⚠️ | URL pública (produção) |
NEXT_PUBLIC_APP_URL | — | URL pública do app |
NEXT_PUBLIC_MAPS_* | — | Integração futura com mapas |
UPLOAD_PROVIDER | — | Provedor de upload (futuro) |
PAYMENT_PROVIDER | — | Gateway de pagamento (futuro) |
O app é resiliente: as páginas públicas renderizam mesmo sem banco configurado (mostram estados vazios), permitindo um primeiro deploy antes de conectar o banco.
vercel.json já fixa a função em gru1, ao lado do banco).DATABASE_URL = string pooled do Supabase (porta 6543, ?pgbouncer=true)DIRECT_URL = string direta do Supabase (porta 5432)AUTH_SECRET = segredo aleatórioAUTH_URL / NEXTAUTH_URL = URL do deploy (ex.: https://comerziahub.vercel.app)prisma generate && next build) já está em package.json.npm run db:push e npm run db:seed (o .env já aponta para o Supabase).Disponíveis após rodar npm run db:seed. Senha de todas: senha123
| Perfil | |
|---|---|
| Administrador | [email protected] |
| Moderador | [email protected] |
| Dono de loja | [email protected] |
| Dono de loja | [email protected] |
| Vendedor | [email protected] |
| Cliente | [email protected] |
| Cliente | [email protected] |
| Entregador | [email protected] |
Projeto de demonstração / base de referência. Use livremente como ponto de partida.
Feito com Next.js, Prisma e Tailwind CSS. 💜