Documento de jornadas de utilizador: objetivos, decisões e passos do ponto de vista de UX. O mapa técnico de rotas e ecrãs está em wireflow.md. Diagramas de atividades (ações e decisões) em activity-diagram.md. Estados e transições em state-transition-diagram.md.
| Persona | Objetivo principal | Áreas típicas da app |
|---|---|---|
| Visitante | Perceber o produto, criar conta ou entrar | Home, Docs |
| Jogador (player) | Marcar/jogar, comunidade, evolução | Dashboard, Jogar, Torneios, Comunidade, Meu Card, Localização |
| Dono de arena (venue owner) | Gerir arenas, quadras, manutenção | Dashboard, Arenas, quadras, manutenção |
| Leitor de docs | Arquitetura, mudanças, referências | /docs, ficheiros .md |
Objetivo: entender o KOLOS e decidir entre cadastro, login ou só documentação.
flowchart TD
A[Landing — Home] --> B{Próximo passo?}
B -->|Quero experimentar| C[Cadastro jogador]
B -->|Já tenho conta| D[Login]
B -->|Sou técnico / curioso| E[Docs índice]
B -->|Sair| F[Fim visita]
C --> G[Formulário + CEP opcional]
G --> H[Conta criada → área autenticada]
D --> H
E --> I[Architecture / Changes / .md]
Momentos de fricção a monitorizar
Objetivo: orientar o utilizador no contexto de ator (jogador vs dono de arena) e no dashboard.
flowchart LR
A[Login bem-sucedido] --> B[Dashboard]
B --> C{Tem mais de um perfil?}
C -->|Sim| D[Actor switcher\nmenu utilizador]
C -->|Não| E[Explora sidebar / bottom nav]
D --> F[Ator ativo: player ou venue_owner]
F --> E
E --> G[Escolhe área: Torneios, Jogar, Arenas…]
Microcopy sugerido (produto)
Objetivo: ir de intenção a ação de jogo (booking / lobby).
flowchart TD
A[Dashboard] --> B[⚔️ Jogar / Booking]
B --> C[Ver partidas / vagas — UI atual]
C --> D{Ação}
D -->|Entrar num jogo| E[Confirmar / check-in — placeholder]
D -->|Voltar| A
Extensões naturais
Objetivo: usar localização para descoberta de arenas ou contexto de matchmaking.
flowchart LR
A[Menu utilizador\nou atalho] --> B[📍 Localização atual]
B --> C[Permissões do browser]
C --> D[Mapa / lista — conforme UI]
D --> E[Refinar busca / voltar]
Objetivo: listar arenas → gerir quadras e manutenção.
flowchart TD
A[Dashboard] --> B[🏟️ Arenas]
B --> C[Lista de venues]
C --> D[Arena específica]
D --> E[Quadras — ManageCourts]
D --> F[Manutenção — DeclareMaintenance]
E --> G[Guardar / voltar]
F --> G
Pré-requisitos de produto
Objetivo: participação social e competitiva contínua.
flowchart LR
subgraph social["Social + competição"]
T[Torneios]
C[Comunidade]
K[Meu Card]
end
D[Dashboard] --> T
D --> C
D --> K
Objetivo: aprender arquitetura, histórico de mudanças ou ler .md do repositório.
flowchart TD
A[Sidebar 📚 Docs] --> B[Índice /docs]
B --> C[Architecture]
B --> D[Changes]
B --> E[Leitura dinâmica wireflow / user-flow / outros .md]
Objetivo: terminar sessão ou regressar à Home sem perder contexto mental.
flowchart LR
A[Menu utilizador] --> B[Sair — POST logout]
A --> C[Voltar ao início — Home pública]
B --> D[Home ou login — política atual]
| Este documento (User Flow) | wireflow.md |
|---|---|
| Intenções, jornadas, decisões | Rotas, middlewares, componentes |
| Personas e objetivos | Mapa técnico e route() |
| Onde pode haver fricção UX | Onde há 403 / role:* |
player devem esconder-se ou mostrar estado desativado para outros papéis (evitar cliques que levam a 403).Atualizar este ficheiro quando novas jornadas (ex.: pagamentos, notificações) forem definidas.