# Fluxograma - Smart Agenda ```mermaid flowchart TD A([Abrir app Smart Agenda]) --> B{Utilizador autenticado?} B -- Nao --> C[Login] C --> D{Acao escolhida} D -- Entrar --> E{Credenciais validas?} E -- Nao --> C E -- Sim --> F{Tipo de conta} D -- Criar conta --> G[Registo] G --> H{Perfil selecionado} H -- Cliente --> C H -- Barbearia --> C D -- Explorar sem conta --> I[Explorar barbearias] B -- Sim --> F F -- Cliente --> J[Area do cliente] F -- Barbearia --> K[Painel da barbearia] subgraph Cliente J --> J1[Explorar] J --> J2[Carrinho] J --> J3[Perfil] I --> L[Detalhes da barbearia] J1 --> L L --> M{Acao na barbearia} M -- Agendar servico --> N{Tem sessao?} N -- Nao --> C N -- Sim --> O[Escolher servico] O --> P[Escolher profissional] P --> Q[Escolher dia e hora] Q --> R[Confirmar lembrete] R --> S[Criar agendamento] S --> T[Agendamento guardado] T --> J1 M -- Adicionar produto --> U{Tem sessao?} U -- Nao --> C U -- Sim --> V[Adicionar ao carrinho] V --> J2 J2 --> W[Rever itens por barbearia] W --> X{Finalizar compra} X -- Sem sessao --> C X -- Com sessao --> Y[Criar pedido] Y --> Z[Pedido guardado] J3 --> AA[Ver historico e favoritos] J3 --> AB[Criar evento pessoal] AA --> L AB --> J3 end subgraph Barbearia K --> K1[Agenda] K --> K2[Servicos] K --> K3[Produtos] K --> K4[Equipa] K --> K5[Definicoes] K1 --> K1A[Ver marcacoes por data] K1A --> K1B[Atualizar estado da marcacao] K2 --> K2A[Criar / editar / apagar servicos] K3 --> K3A[Criar / editar / apagar produtos e stock] K4 --> K4A[Criar / editar / apagar barbeiros] K5 --> K5A[Atualizar dados, contactos, horarios e imagem] K1B --> DB[(Supabase)] K2A --> DB K3A --> DB K4A --> DB K5A --> DB end S --> DB Y --> DB V --> LS[(Armazenamento local)] AA --> DB C --> AUTH[(Supabase Auth)] G --> AUTH AUTH --> DB ``` ## Resumo do fluxo - Visitantes podem fazer login, criar conta ou explorar barbearias sem conta. - Clientes autenticados podem explorar barbearias, marcar servicos, adicionar produtos ao carrinho, finalizar pedidos e consultar o perfil. - Barbearias autenticadas entram no painel para gerir agenda, servicos, produtos, equipa e definicoes. - Autenticacao e dados persistentes passam pelo Supabase; favoritos/carrinho tambem usam armazenamento local por utilizador.