Skip to content

MarioTrazzi/atitude-moda-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atitude Moda · Venda sob consulta (WhatsApp + Mercado Pago)

Modelo: a loja recebe produtos via WhatsApp de lojas físicas; alta rotatividade; o site não garante estoque.

Quickstart (dev)

  1. Subir Postgres
  • docker compose up -d
  1. Variáveis de ambiente
  • cp .env.example .env
  • Ajuste ADMIN_API_KEY (e, quando for integrar, credenciais do WhatsApp/MP)
  1. Banco + Prisma
  • npm run db:push
  • npm run db:studio
  1. Rodar apps
  • npm run dev

Rotas principais

  • API health: GET /health
  • Produto: GET /api/products/:slug
  • Criar pedido: POST /api/orders
  • Webhook WhatsApp: GET|POST /api/webhooks/whatsapp
  • Admin (header x-admin-key):
    • POST /api/admin/products
    • GET /api/admin/orders
    • GET /api/admin/orders/:orderId
    • POST /api/admin/orders/:orderId/confirm
    • POST /api/admin/orders/:orderId/cancel

Documentação

  • Arquitetura: docs/architecture.md
  • Modelagem do banco: docs/database.md
  • Fluxo de estados: docs/order-flow.md
  • Boas práticas UX (venda sob consulta): docs/ux.md

Fotos reais (para demo)

Para trocar os placeholders por fotos reais (e testar melhor a dinâmica do carrossel), basta adicionar imagens em:

  • apps/web/public/product-images/

Use o mesmo nome do slug do produto/story. Exemplos:

  • apps/web/public/product-images/vestido-verde.jpg
  • apps/web/public/product-images/vestido-verde.png
  • apps/web/public/product-images/vestido-verde.webp

O endpoint GET /api/product-image?slug=... vai automaticamente usar a foto real se existir; se não existir, ele cai no SVG gerado.

Gerar fotos com IA (a partir do nome/descrição)

Se você quiser gerar imagens automaticamente (para apresentar e testar o carrossel), use o script:

  • Configure no .env (raiz): OPENAI_API_KEY (e opcionalmente OPENAI_IMAGE_MODEL, OPENAI_IMAGE_SIZE)
  • Rode:
    • node scripts/generate-product-images.mjs

Ele busca os produtos no banco e salva arquivos em apps/web/public/product-images/<slug>.png.

About

Fashion e-commerce with consultation-based sales model — order closing via WhatsApp and Mercado Pago integration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors