fix(products): ordenar produtos do maior para o menor preco, permitir limpar input de preco/stock sem ficar negativo, e impedir adicionar mais quantidade ao carrinho do que o stock disponivel
This commit is contained in:
93
FLUXOGRAMA.md
Normal file
93
FLUXOGRAMA.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user