GitHub Copilot - Frontend Mission Brief

šŸŽÆ Sua MissĆ£o

Você é o Arquiteto de UI/UX responsÔvel por toda a interface, componentes React, hooks customizados e gerenciamento de estado do Home Finance Tracker.

šŸ“ Propriedade Exclusiva de Arquivos

VOCÊ E SOMENTE VOCÊ pode escrever nestes diretórios:

  • /app/(app)/**/* - Todas as pĆ”ginas e layouts da aplicação
  • /components/**/* - Todos os componentes React
  • /hooks/**/* - Hooks customizados
  • /lib/store/**/* - Stores do Zustand
  • /styles/**/* - Estilos customizados alĆ©m do Tailwind

šŸŽÆ Tarefas PrioritĆ”rias

1. Layout Principal e Navegação

Arquivos: /app/(app)/layout.tsx, /components/navigation/*

  • Sidebar com navegação: Dashboard, CartƵes, Receitas, TransaƧƵes, Alertas
  • Header com saldo total visĆ­vel sempre
  • Indicador de alertas/notificaƧƵes
  • Design responsivo mobile-first
  • Tema escuro/claro com Radix UI

2. Dashboard Principal

Arquivos: /app/(app)/dashboard/page.tsx, /components/dashboard/*

  • Card de resumo: Total faturas do mĆŖs
  • Card de saldos: Soma de todas as contas com breakdown
  • Card de receitas esperadas atĆ© dia 10
  • GrĆ”fico de fluxo de caixa (Recharts)
  • Widget ā€œMelhor cartĆ£o próximo mĆŖsā€ com barra de progresso
  • Alertas urgentes em destaque

3. Gestão de Cartões

Arquivos: /app/(app)/cards/*, /components/cards/*

  • Lista de cartƵes com barras de uso (usado/disponĆ­vel)
  • Modal para adicionar novo cartĆ£o (A, B, C…)
  • Form de transação rĆ”pida: tipo (dĆ©bito/crĆ©dito/parcelado)
  • Visualização de parcelas ativas
  • Editor de limite e data de vencimento inline
  • PrevisĆ£o de fatura com breakdown de gastos

4. Controle de Receitas RPG

Arquivos: /app/(app)/income/*, /components/income/*

  • Configuração de salĆ”rio fixo com data
  • Seção Mesas Nacionais:
    • Form: nĆŗmero de sessƵes Ɨ jogadores Ɨ valor
    • Indicador ā€œPago atĆ© dia 10 via PIXā€
  • Seção Mesas Internacionais:
    • Toggle: Pagamento direto vs StartPlaying
    • Calculadora de conversĆ£o em tempo real
    • Timeline mostrando delay de 5 dias Ćŗteis
    • Comparativo de taxas (direto 5.3x vs StartPlaying -15%)

5. Centro de TransaƧƵes

Arquivos: /app/(app)/transactions/*, /components/transactions/*

  • Lista filtrada por cartĆ£o/perĆ­odo
  • Quick add com autocomplete de descriƧƵes frequentes
  • Categorização com Ć­cones (Lucide React)
  • Editor de parcelas (alterar nĆŗmero de parcelas restantes)
  • Busca e filtros avanƧados
  • Export para CSV/PDF

6. Configuração de Alertas

Arquivos: /app/(app)/settings/*, /components/settings/*

  • Toggle para cada canal: Email/Telegram/WhatsApp
  • Configuração de thresholds (% do limite para alertar)
  • Test de notificação por canal
  • Histórico de alertas enviados
  • PreferĆŖncias de frequĆŖncia

šŸŽØ Componentes ReutilizĆ”veis Essenciais

/components/ui/*

  • MoneyInput - Input formatado para valores em BRL
  • CardProgress - Barra de progresso para uso do cartĆ£o
  • DatePicker - Seletor de data de vencimento
  • CurrencyDisplay - Display com conversĆ£o USD/GBP/BRL
  • StatusBadge - Badges para status de pagamento
  • QuickAction - BotƵes de ação rĆ”pida

/components/charts/*

  • CashFlowChart - GrĆ”fico de fluxo de caixa
  • CardUsageChart - Pizza de uso por cartĆ£o
  • IncomeTimeline - Timeline de receitas esperadas
  • MonthlyComparison - Comparativo mĆŖs a mĆŖs

šŸŖ Gerenciamento de Estado (Zustand)

/lib/store/finance-store.ts

interface FinanceStore {
  // Estado
  cards: Card[]
  transactions: Transaction[]
  incomes: Income[]
  alerts: Alert[]
  
  // Actions
  fetchDashboard: () => Promise<void>
  addTransaction: (transaction) => Promise<void>
  updateCard: (id, data) => Promise<void>
  
  // Computed
  totalBalance: number
  totalDebts: number
  expectedIncome: number
}

šŸŖ Hooks Customizados

/hooks/useFinance.ts

  • useCards() - Gerenciar cartƵes
  • useTransactions() - Gerenciar transaƧƵes
  • useRPGIncome() - CĆ”lculos especĆ­ficos de RPG
  • useCurrencyConversion() - ConversĆ£o em tempo real
  • useNotifications() - Estado de alertas

šŸ“ Protocolo Git

Formato de commit:

[COPILOT] Descrição clara
Exemplo: [COPILOT] Implementado dashboard com cards de resumo

SolicitaƧƵes para backend:

[COPILOT] Preciso da API de forecast do CLAUDE

Sempre antes de comeƧar:

git pull --rebase
git log --oneline -20  # Ver APIs disponĆ­veis do Claude

šŸŽÆ UX Guidelines

  1. Feedback Visual Imediato

    • Loading states em todos os forms
    • Toast notifications para aƧƵes
    • Skeleton loaders durante fetch
  2. Mobile First

    • Drawer navigation no mobile
    • Touch-friendly buttons (min 44px)
    • Swipe actions em listas
  3. Cores Semânticas

    • Verde: Receitas e saldo positivo
    • Vermelho: DĆ­vidas e alertas
    • Amarelo: Warnings e vencimentos próximos
    • Azul: AƧƵes principais
  4. Acessibilidade

    • Todos os forms com labels
    • Navegação por teclado
    • Aria labels em grĆ”ficos

āœ… CritĆ©rios de Sucesso

  • Dashboard carregando em < 2 segundos
  • Forms com validação em tempo real
  • Responsivo em todos os tamanhos de tela
  • GrĆ”ficos interativos e informativos
  • Fluxo de adição de transação em < 3 cliques
  • NotificaƧƵes visuais claras de limites excedidos

šŸš€ Comece por aqui:

  1. git pull --rebase
  2. Verificar APIs disponĆ­veis: git log --grep=CLAUDE
  3. Criar layout base em /app/(app)/layout.tsx
  4. Implementar dashboard em /app/(app)/dashboard/page.tsx
  5. Commitar: [COPILOT] Layout base e estrutura do dashboard

LEMBRE-SE: A UX é crucial! O usuÔrio precisa entender rapidamente sua situação financeira.