Sell globally. Grow your revenue.
Sell globally. Grow your revenue. Card and monthly payments for freelancers, agencies and SaaS from 190+ countries, with tax and invoices handled. No company needed.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证库存、配送、市场和商业社交网络平台(基于 Next.js、Prisma 和 Tailwind)。
AI 翻译
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. 💜