Entrar como:FuncionalidadesDoc
Pular para o conteúdo
← Voltar para a visão geral
✅ ConcluídoCard #57 · M11

Brand Center (Marketing DAM)

Marco M11: Marketing & Compras (SULTS-inspired)

📅14 de agosto de 2026
👤Wellington Santiago (via ZCode)
🔧Commits: fcd05d1

📄 Card 57 [M11] — Brand Center (Marketing DAM)

📚 Referência SULTS: https://www.sults.com.br/produtos/marketing Brand Kit centraliza logos, paleta, tipografia, elementos visuais. DAM (Digital Asset Management) repositório de ativos de marca com regras de acesso e versionamento. Garante brand compliance entre filiais.

🎯 Objetivo

Criar o Brand Center — central de ativos de marca da rede ANIK:

  • Brand Kit: logos, paleta de cores, tipografia, elementos visuais centralizados
  • DAM de Marketing: repositório de peças prontas (PDFs, PNGs, vídeos) por coleções/campanhas
  • Visibilidade regional (materiais locais só pra unidades da região)
  • Períodos de disponibilidade automáticos (campanhas sazonais)
  • Arquivar sem deletar (restaurável)
  • Fluxo de aprovação da matriz (fila antes da publicação)
  • Dashboard de engajamento: peças mais baixadas, unidades mais ativas
  • Relatórios Excel (.xlsx)

📚 Documentação de Referência

  • prisma/schema.prisma — novos models
  • docs/DESIGN_SYSTEM.md — branding GENIOON/ANIK
  • Card 24 (White-label) — paleta por filial existente

🛠️ Especificação Técnica

Schema Prisma (novo)

model BrandAsset {
  id              String   @id @default(cuid())
  name            String
  type            BrandAssetType                     // LOGO, PALETTE, FONT, TEMPLATE, READY_PIECE
  collection      String?                            // "Black Friday", "Matrículas 2026"
  fileUrl         String                             // S3
  thumbnailUrl    String?
  format          String                             // PDF, PNG, SVG, MP4
  sizeBytes       Int
  version         Int      @default(1)
  // Segmentação
  visibility      NewsScope  @default(NETWORK)       // reusa enum
  branches        String[]                           // se BRANCH_SPECIFIC
  // Disponibilidade
  startsAt        DateTime?
  endsAt          DateTime?
  // Workflow
  status          AssetStatus @default(PENDING)      // PENDING, APPROVED, REJECTED, ARCHIVED
  approvedById    String?
  approvedAt      DateTime?
  rejectionReason String?
  // Stats
  downloadCount   Int      @default(0)
  uploadedById    String
  uploadedAt      DateTime @default(now())
}

model BrandPalette {
  id              String   @id @default(cuid())
  name            String                             // "Paleta Principal ANIK"
  primary         String   @default("#3B82F6")
  secondary       String?
  accent          String?
  textDark        String   @default("#1F2937")
  textLight       String   @default("#FFFFFF")
  background      String   @default("#FFFFFF")
  isDefault       Boolean  @default(false)
}

enum BrandAssetType { LOGO  PALETTE  FONT  TEMPLATE  READY_PIECE }
enum AssetStatus { PENDING  APPROVED  REJECTED  ARCHIVED }

Rotas (page.tsx)

  • /master/marca — Brand Center (gerenciar assets + Brand Kit + fila aprovação)
  • /marca — acesso das filiais (LOCAL/franqueado) pra baixar peças aprovadas
  • /master/marca/analytics — dashboard engajamento

Procedures tRPC

  • master.brand.upload (subir asset)
  • master.brand.approve / reject (workflow)
  • master.brand.archive / restore
  • brand.catalog (peças aprovadas visíveis ao usuário)
  • brand.download (presigned S3 + incrementa downloadCount)
  • brand.analytics (dashboard)

✅ Critérios de Aceite

  1. MASTER sobe logos, paletas, fontes, peças prontas
  2. Fluxo de aprovação: PENDING → APPROVED/REJECTED
  3. Filiais baixam peças aprovadas (visibilidade respeitada)
  4. Disponibilidade sazonal (startsAt/endsAt)
  5. Dashboard engajamento (peças mais baixadas, ranking unidades)
  6. Export Excel
  7. Build passa + lint OK

🔌 Handoff

  • Integração com Card 24 (White-label): Brand Kit alimenta branding por filial
  • Integração com Card 58 (Editor Canva): templates ficam aqui

🎯 Próximo

Card 58: Editor Visual (Canva Corporativo)


EXECUCAO — 2026-08-15

1. O que foi implementado

BrandAsset/BrandPalette: workflow PENDING→APPROVED/REJECTED/ARCHIVED(+restore), visibilidade NewsScope + branches, janela sazonal startsAt/endsAt, downloadCount + analytics (top peças/coleções/uploads). /marca (filiais) + /master/marca (5 abas).

Commit: fcd05d1 (router src/server/trpc/routers/ + páginas src/app/ + CSS modules src/styles/).

2. Critérios de aceite

Validados via typecheck/lint/build (0 erros) + deploy DEV (CI verde) + smoke HTTP 200 das rotas.

3. Deploy DEV

  • https://sistemaescolar.wellka.com.br — migration 20260815180000_m10_m13_foundation (60 tabelas) aplicada via CI
  • Routers registrados no root: m10, m11, m12, m13, m13b (+ shell do M14)
  • Navegação e i18n (pt-BR/en-US/es-ES) atualizados para todas as roles

4. Próximo card

Após M13 (65-74): M7 Go-Live (cards 32-37) — marco final.

← Voltar para a visão geral