doc: first docs

This commit is contained in:
2025-06-06 13:59:52 -03:00
parent da59da79ae
commit 99d17db5e6
28 changed files with 3125 additions and 0 deletions

View File

@@ -0,0 +1,336 @@
# Casos de Uso do Aplicativo BarApp
Este documento descreve os principais casos de uso do aplicativo BarApp, detalhando as interações entre os atores (usuários) e o sistema.
## Atores
- **Usuário:** Cliente do bar que utiliza o aplicativo.
- **Garçom/Atendente:** Funcionário do bar que interage com o aplicativo para validar tickets/comandas.
- **Sistema de Pagamento:** Serviço externo responsável por processar transações financeiras.
- **Sistema de Autenticação Social (Google):** Serviço externo para autenticação via conta Google.
## Casos de Uso
### 1. Gerenciamento de Usuários
#### CU001: Cadastrar Usuário
- **Nome:** Cadastrar Usuário
- **Ator:** Usuário
- **Descrição:** Permite que um novo usuário crie uma conta no aplicativo.
- **Fluxo Principal:**
1. Usuário acessa a tela de cadastro.
2. Usuário preenche os campos obrigatórios (nome, e-mail, senha).
3. Sistema valida os dados.
4. Sistema cria a conta do usuário e o autentica.
#### CU002: Alterar Senha
- **Nome:** Alterar Senha
- **Ator:** Usuário
- **Descrição:** Permite que um usuário autenticado modifique sua senha de acesso.
- **Fluxo Principal:**
1. Usuário acessa a tela de alteração de senha.
2. Usuário informa a senha atual e a nova senha (duas vezes para confirmação).
3. Sistema valida a senha atual e a nova senha.
4. Sistema atualiza a senha do usuário.
#### CU003: Realizar Login Social (Google)
- **Nome:** Realizar Login Social (Google)
- **Ator:** Usuário, Sistema de Autenticação Social (Google)
- **Descrição:** Permite que o usuário faça login usando sua conta Google.
- **Fluxo Principal:**
1. Usuário seleciona a opção "Login com Google".
2. Sistema redireciona para a tela de autenticação do Google.
3. Usuário autentica-se com sua conta Google.
4. Sistema de Autenticação Social retorna os dados do usuário para o BarApp.
5. BarApp cria ou vincula a conta do usuário e o autentica.
### 2. Cardápio e Tickets
#### CU004: Visualizar Cardápio
- **Nome:** Visualizar Cardápio
- **Ator:** Usuário
- **Descrição:** Permite que o usuário navegue pelos produtos disponíveis no bar.
- **Fluxo Principal:**
1. Usuário acessa a tela do cardápio.
2. Sistema exibe a lista de produtos com nome, preço, descrição e imagem.
#### CU005: Adicionar Ticket à Cesta
- **Nome:** Adicionar Ticket à Cesta
- **Ator:** Usuário
- **Descrição:** Permite que o usuário selecione um produto e adicione tickets correspondentes à sua cesta de compras.
- **Fluxo Principal:**
1. Usuário visualiza o cardápio.
2. Usuário seleciona um produto e a quantidade de tickets desejada.
3. Sistema adiciona os tickets à cesta de compras do usuário.
#### CU006: Visualizar Cesta de Compras
- **Nome:** Visualizar Cesta de Compras
- **Ator:** Usuário
- **Descrição:** Permite que o usuário revise os itens selecionados antes de finalizar a compra.
- **Fluxo Principal:**
1. Usuário acessa a tela da cesta de compras.
2. Sistema exibe os produtos, quantidades e valor total na cesta.
#### CU007: Comprar Tickets
- **Nome:** Comprar Tickets
- **Ator:** Usuário, Sistema de Pagamento
- **Descrição:** Permite que o usuário finalize a compra dos tickets na cesta de compras.
- **Fluxo Principal:**
1. Usuário está na tela da cesta de compras.
2. Usuário seleciona a opção "Finalizar Compra".
3. Usuário escolhe o método de pagamento.
4. Sistema de Pagamento processa a transação.
5. Sistema registra os tickets comprados na carteira do usuário.
#### CU008: Visualizar Carteira de Tickets
- **Nome:** Visualizar Carteira de Tickets
- **Ator:** Usuário
- **Descrição:** Permite que o usuário veja os tickets que possui e ainda não utilizou.
- **Fluxo Principal:**
1. Usuário acessa a tela da carteira de tickets.
2. Sistema exibe a lista de tickets disponíveis, com detalhes e prazo de validade.
#### CU009: Visualizar Histórico de Tickets
- **Nome:** Visualizar Histórico de Tickets
- **Ator:** Usuário
- **Descrição:** Permite que o usuário consulte o registro de todos os tickets comprados e utilizados.
- **Fluxo Principal:**
1. Usuário acessa a tela de histórico de tickets.
2. Sistema exibe a lista de tickets com datas de compra e uso.
#### CU010: Transferir Ticket
- **Nome:** Transferir Ticket
- **Ator:** Usuário (remetente), Usuário (destinatário)
- **Descrição:** Permite que um usuário transfira um ou mais tickets para outro usuário.
- **Fluxo Principal:**
1. Usuário (remetente) seleciona tickets na carteira para transferência.
2. Sistema gera um QR Code para a transferência.
3. Usuário (destinatário) lê o QR Code gerado pelo remetente.
4. Sistema remove os tickets da carteira do remetente e adiciona à carteira do destinatário.
#### CU011: Receber Ticket
- **Nome:** Receber Ticket
- **Ator:** Usuário (destinatário), Usuário (remetente)
- **Descrição:** Permite que um usuário receba tickets transferidos por outro usuário.
- **Fluxo Principal:**
1. Usuário (destinatário) acessa a função de "Receber Ticket" e ativa a câmera.
2. Usuário (destinatário) escaneia o QR Code de transferência gerado pelo remetente.
3. Sistema valida o QR Code e adiciona os tickets à carteira do destinatário.
#### CU012: Utilizar Ticket
- **Nome:** Utilizar Ticket
- **Ator:** Usuário, Garçom/Atendente
- **Descrição:** Permite que o usuário troque um ticket por um produto no bar.
- **Fluxo Principal:**
1. Usuário seleciona um ticket na carteira para uso.
2. Sistema gera um QR Code único para o ticket.
3. Garçom/Atendente lê o QR Code com um dispositivo próprio.
4. Sistema valida o ticket e o marca como utilizado, registrando a data e hora.
### 3. Pagamento
#### CU013: Efetuar Pagamento da Cesta
- **Nome:** Efetuar Pagamento da Cesta
- **Ator:** Usuário, Sistema de Pagamento
- **Descrição:** Processa o pagamento dos tickets na cesta de compras. (Já coberto em CU007, mas pode ser um caso de uso separado para o processo de pagamento em si).
- **Fluxo Principal:**
1. Usuário confirma os itens na cesta.
2. Usuário seleciona o método de pagamento (Pix, Cartão de Crédito/Débito).
3. Se for Pix, sistema exibe QR Code/código.
4. Se for cartão, usuário insere dados ou seleciona cartão cadastrado.
5. Sistema integra com o Sistema de Pagamento para finalizar a transação.
6. Sistema confirma o pagamento e atualiza o status dos tickets.
#### CU014: Cadastrar Cartão de Crédito/Débito
- **Nome:** Cadastrar Cartão de Crédito/Débito
- **Ator:** Usuário, Sistema de Pagamento
- **Descrição:** Permite que o usuário armazene dados de cartão para pagamentos futuros.
- **Fluxo Principal:**
1. Usuário acessa a seção de gerenciamento de pagamentos.
2. Usuário seleciona a opção "Adicionar Cartão".
3. Usuário insere os dados do cartão (número, validade, CVV, nome do titular).
4. Sistema de Pagamento tokeniza e armazena os dados do cartão de forma segura.
5. Sistema confirma o cadastro do cartão.
#### CU015: Efetuar Pagamento da Comanda
- **Nome:** Efetuar Pagamento da Comanda
- **Ator:** Usuário, Garçom/Atendente, Sistema de Pagamento
- **Descrição:** Permite que o usuário visualize e pague sua comanda de consumo.
- **Fluxo Principal:**
1. Garçom/Atendente fornece um QR Code da comanda ao usuário.
2. Usuário escaneia o QR Code da comanda.
3. Sistema exibe os detalhes da comanda (itens, valores, total).
4. Usuário seleciona a opção de pagamento (total ou parcial) e o método (Pix, Cartão).
5. Sistema de Pagamento processa a transação.
6. Sistema atualiza o status da comanda no sistema do bar.
### 4. Eventos e Karaokê
#### CU016: Comprar Ingresso para Evento
- **Nome:** Comprar Ingresso para Evento
- **Ator:** Usuário, Sistema de Pagamento
- **Descrição:** Permite que o usuário adquira ingressos para eventos do bar.
- **Fluxo Principal:**
1. Usuário acessa a tela de eventos.
2. Usuário seleciona um evento e a quantidade de ingressos.
3. Usuário prossegue para o pagamento (similar ao CU007).
4. Sistema registra os ingressos na seção de ingressos do usuário.
#### CU017: Visualizar Fila do Karaokê
- **Nome:** Visualizar Fila do Karaokê
- **Ator:** Usuário
- **Descrição:** Permite que o usuário veja a ordem das pessoas para cantar no karaokê.
- **Fluxo Principal:**
1. Usuário acessa a tela do karaokê.
2. Sistema exibe a fila atualizada em tempo real.