Files
RRBEC/doc/App Cliente/Casos de Uso - Aplicativo Cliente.md
2025-06-06 13:59:52 -03:00

9.3 KiB

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.