3.4 KiB
3.4 KiB
01 — Plano do Projeto
Objetivo
Criar um website de administração que sirva de backend para uma aplicação de liga de futebol. A aplicação cliente já está desenvolvida e lê dados em tempo real da Firebase. Este dashboard é o único ponto de escrita.
Problema a Resolver
A aplicação cliente mostra dados em tempo real mas não tem interface de edição. É necessário um painel de administração que permita:
- Atualizar resultados durante os jogos (em tempo real)
- Gerir toda a estrutura da liga (clubes, jogadores, jornadas)
- Manter estatísticas atualizadas automaticamente
Âmbito do Projeto
In Scope
- Dashboard de administração web (SPA)
- Autenticação segura (apenas administradores)
- CRUD completo de jogos, clubes, jogadores
- Atualização de resultados em tempo real (live)
- Gestão de jornadas e classificação
- Estatísticas automáticas (calculadas a partir dos resultados)
- Interface responsiva (desktop-first, mas funcional em tablet)
Out of Scope
- Aplicação cliente (já existe)
- API REST separada (Firebase é o backend direto)
- App móvel de administração
- Sistema de utilizadores múltiplos com permissões granulares (v1)
Fases de Desenvolvimento
Fase 0 — Planeamento e Design (ATUAL)
- Definição de requisitos
- Stack tecnológica
- Arquitetura do sistema
- Design system
- Firebase schema
- Mockup interativo
- Review e aprovação
Fase 1 — Setup e Fundação
Estimativa: 1-2 sessões
- Inicializar projeto Vite + React + TypeScript
- Configurar Firebase SDK
- Configurar React Router
- Implementar autenticação Firebase Auth
- Layout base (sidebar + header + content area)
- Design system (cores, tipografia, componentes base)
Fase 2 — Módulo de Jogos (Core)
Estimativa: 2-3 sessões
- Listagem de jogos por jornada
- Criação de jogo
- Live Score Editor — atualização em tempo real
- Finalizar jogo (resultado final)
- Histórico de jogos
Fase 3 — Módulo de Gestão
Estimativa: 2 sessões
- CRUD de Clubes
- CRUD de Jogadores (com clube associado)
- Gestão de Jornadas
- Classificação (calculada automaticamente)
Fase 4 — Estatísticas e Extras
Estimativa: 1-2 sessões
- Artilheiros (golos por jogador)
- Assistências
- Cartões (amarelos/vermelhos)
- Dashboard overview com métricas
Fase 5 — Polish e Deploy
Estimativa: 1 sessão
- Testes e bug fixes
- Otimização de performance
- Deploy (Firebase Hosting)
- Configuração de domínio
Critérios de Sucesso
- Administrador consegue atualizar um resultado em menos de 10 segundos
- A alteração aparece na app cliente em menos de 2 segundos (Firebase real-time)
- Zero inconsistências na classificação (calculada automaticamente)
- Interface funcional em desktop e tablet
- Acesso protegido por autenticação
Riscos e Mitigações
| Risco | Probabilidade | Mitigação |
|---|---|---|
| Schema Firebase incompatível com app cliente | Alta | Documentar schema existente antes de escrever |
| Conflitos de escrita simultânea | Baixa | Usar Firebase transactions |
| Performance com muitos listeners real-time | Média | Limitar listeners ativos, usar pagination |
| Segurança (acesso não autorizado) | Alta | Firebase Security Rules rigorosas |