Pular para o conteúdo principal
Versão: Versão Cestas

Casos de Uso Detalhados

Este documento apresenta todos os casos de uso do Sistema Divino Alimento, organizados por módulos funcionais com fluxos detalhados para cada perfil de usuário.

🎯 Visão Geral do Sistema

Sistema web para gestão de grupos de compras coletivas, facilitando a organização de ciclos de compras entre fornecedores e consumidores através de autenticação OAuth.


👥 1. GESTÃO DE USUÁRIOS

UC001 - Autenticar Usuário via OAuth

CampoDescrição
Ator PrincipalUsuário (qualquer perfil)
Pré-condiçõesUsuário possui conta Google válida, sistema disponível
ObjetivoAutenticar usuário no sistema usando Google OAuth

Fluxo Normal:

  1. Usuário acessa o sistema
  2. Clica em "Login"
  3. Sistema redireciona para autenticação OAuth (Google)
  4. Usuário fornece credenciais Google
  5. Sistema recebe token de autenticação
  6. Sistema verifica se usuário está cadastrado
  7. Sistema cria sessão do usuário
  8. Redireciona para área restrita conforme perfil

Fluxos Alternativos:

  • FA1 - Usuário não cadastrado:
    • 6a. Sistema identifica email não cadastrado
    • 6b. Redireciona para UC002 (Cadastrar Novo Usuário)
  • FA2 - Falha na autenticação:
    • 4a. OAuth retorna erro
    • 4b. Sistema exibe mensagem de erro
    • 4c. Usuário tenta novamente

Pós-condições: Usuário autenticado com sessão ativa

UC002 - Cadastrar Novo Usuário

CampoDescrição
Ator PrincipalUsuário não cadastrado
Pré-condiçõesUsuário autenticado via OAuth mas não cadastrado no sistema
ObjetivoCompletar cadastro do novo usuário

Fluxo Normal:

  1. Sistema detecta usuário não cadastrado
  2. Exibe formulário com dados do OAuth
  3. Usuário preenche dados complementares (nome, celular)
  4. Informa dados para pagamento (conta bancária, PIX)
  5. Marca aceite da política de privacidade
  6. Define perfil de acesso (consumidor/fornecedor)
  7. Sistema valida dados
  8. Sistema cria usuário
  9. Usuário é redirecionado para área restrita

Fluxos Alternativos:

  • FA1 - Dados inválidos:
    • 7a. Sistema apresenta erros de validação
    • 7b. Usuário corrige dados e resubmete
  • FA2 - Termos não aceitos:
    • 5a. Sistema não permite prosseguir sem aceite
    • 5b. Usuário deve marcar aceite para continuar
  • FA3 - Primeiro usuário do sistema:
    • 6a. Sistema define perfil de acesso de administrador

Pós-condições: Usuário cadastrado e autenticado no sistema

UC003 - Gerenciar Usuários (Admin)

CampoDescrição
Ator PrincipalAdministrador
Pré-condiçõesUsuário com perfil administrador
ObjetivoGerenciar dados e perfis dos usuários

Fluxo Normal:

  1. Administrador acessa gestão de usuários
  2. Sistema exibe lista de usuários
  3. Administrador seleciona usuário
  4. Edita dados e perfis de acesso
  5. Define status (ativo/inativo)
  6. Salva alterações
  7. Sistema atualiza registro

Fluxos Alternativos:

  • FA1 - Auto-edição de admin:
    • 4a. Sistema impede que admin remova próprio perfil admin
    • 4b. Mantém perfil administrador obrigatório
    • 4c. Sistema impede que admin altere o próprio email

Pós-condições: Usuário atualizado conforme alterações


🔄 2. GESTÃO DE CICLOS

UC004 - Criar Ciclo

CampoDescrição
Ator PrincipalAdministrador
Pré-condiçõesProdutos cadastrados, tipos de cesta definidos, pontos de entrega cadastrados
ObjetivoCriar novo ciclo de comercialização

Fluxo Normal:

  1. Administrador acessa "Ciclos"
  2. Clica em "Novo Ciclo"
  3. Preenche nome do ciclo
  4. Define período de ofertas (início/fim)
  5. Define período de pedidos (início/fim)
  6. Define um ou mais períodos de entrega dos produtos (início/fim)
  7. Define período de retirada (início/fim)
  8. Seleciona um ponto de entrega
  9. Configura quais cestas comporão o ciclo e suas quantidades
  10. Insere observações opcionais
  11. Salva ciclo com status "ativo"
  12. Sistema cria ciclo disponível para ofertas

Validações:

  • Períodos não podem se sobrepor inadequadamente
  • Pelo menos uma cesta deve ser selecionada
  • Ponto de entrega é obrigatório

Pós-condições: Ciclo criado e disponível para operação

UC005 - Visualizar Ciclos Ativos

CampoDescrição
Ator PrincipalTodos os usuários
Pré-condiçõesUsuário autenticado
ObjetivoVisualizar ciclos disponíveis conforme perfil

Fluxo por Perfil:

  • Fornecedor: Vê ciclos em período de ofertas
  • Consumidor: Vê ciclos em período de pedidos
  • Administrador: Vê todos os ciclos

🌱 3. GESTÃO DE OFERTAS

UC006 - Criar/Editar Oferta

CampoDescrição
Ator PrincipalFornecedor ou Administrador
Pré-condiçõesCiclo ativo, produtos cadastrados
ObjetivoRegistrar produtos disponíveis para o ciclo

Fluxo Normal:

  1. Usuário acessa ciclo disponível
  2. Sistema carrega oferta existente ou cria nova
  3. Sistema exibe catálogo de produtos por categoria
  4. Usuário define quantidades para cada produto
  5. Sistema calcula valores automaticamente
  6. Usuário salva oferta
  7. Sistema registra/atualiza produtos oferecidos

Regras de Negócio:

  • Quantidades zeradas são automaticamente removidas
  • Sistema mantém histórico de produtos por fornecedor
  • Ofertas podem ser editadas durante período válido

Fluxos Alternativos:

  • FA1 - Fora do período (Fornecedor):
    • 1a. Sistema informa que período de ofertas encerrou
    • 1b. Bloqueia edição de ofertas
  • FA2 - Administrador:
    • 1a. Pode ajustar ofertas de qualquer fornecedor
    • 1b. Acesso liberado independente do período

Pós-condições: Oferta registrada/atualizada para o ciclo


📦 4. GESTÃO DE COMPOSIÇÕES

UC007 - Gerenciar Composição de Cestas

CampoDescrição
Ator PrincipalAdministrador
Pré-condiçõesOfertas cadastradas no ciclo
ObjetivoMontar cestas usando produtos oferecidos

Fluxo Normal:

  1. Administrador acessa composição do ciclo
  2. Seleciona tipo de cesta
  3. Sistema exibe produtos oferecidos ordenados por disponibilidade
  4. Sistema indica com cores a viabilidade:
    • 🟢 Verde: Quantidade suficiente para todas as cestas
    • 🟡 Amarelo: Quantidade parcial (atende algumas cestas)
    • 🔴 Vermelho: Quantidade insuficiente
  5. Administrador define produtos e quantidades da cesta
  6. Sistema calcula valor total e compara com valor máximo:
    • 🟢 Verde: Dentro do orçamento
    • 🔴 Vermelho: Excedeu valor máximo
  7. Salva configuração da cesta
  8. Composição fica disponível para consulta

Regras de Negócio:

  • Produtos são consumidos na ordem: primeiro as cestas, depois os extras
  • Sistema valida disponibilidade em tempo real
  • Valor total não deve exceder valor máximo da cesta

Pós-condições: Composição de cesta configurada, sobras calculadas automaticamente

UC008 - Gerar Lista de Produtos Extras

CampoDescrição
Ator PrincipalAdministrador
Pré-condiçõesComposições de cestas finalizadas
ObjetivoDisponibilizar produtos excedentes para venda direta

Fluxo Normal:

  1. Sistema calcula automaticamente produtos não utilizados nas cestas
  2. Administrador acessa "Lista de Ofertas Extras"
  3. Sistema exibe produtos com quantidades disponíveis
  4. Administrador pode editar quantidades ou remover produtos
  5. Confirma lista final
  6. Sistema disponibiliza produtos para pedidos dos consumidores

Pós-condições: Lista de extras disponível para consumidores


🛒 5. GESTÃO DE PEDIDOS

UC009 - Realizar Pedido de Extras

CampoDescrição
Ator PrincipalConsumidor
Pré-condiçõesCiclo com produtos extras disponíveis
ObjetivoFazer pedido de produtos complementares

Fluxo Normal:

  1. Consumidor acessa ciclo ativo
  2. Sistema exibe observações do ciclo no topo
  3. Sistema lista produtos extras disponíveis
  4. Consumidor seleciona produtos e quantidades desejadas
  5. Sistema calcula valores totais em tempo real
  6. Sistema valida disponibilidade
  7. Consumidor revisa resumo do pedido
  8. Salva pedido (não há diferenciação entre rascunho e finalizado)
  9. Sistema registra pedido
  10. Exibe confirmação com resumo

Validações em Tempo Real:

  • Quantidade disponível vs solicitada
  • Cálculo automático de valores
  • Estoque atualizado instantaneamente

Fluxos Alternativos:

  • FA1 - Fora do período (Consumidor):
    • 1a. Sistema informa que período encerrou
    • 1b. Permite apenas visualização
  • FA2 - Administrador:
    • Pode ajustar pedidos de qualquer consumidor a qualquer momento

Pós-condições: Pedido registrado no sistema

UC010 - Composição de Pedidos Extras

CampoDescrição
Ator PrincipalAdministrador
Pré-condiçõesPedidos de consumidores registrados
ObjetivoAssociar pedidos aos fornecedores

Fluxo Normal:

  1. Sistema consolida todos os pedidos por produto
  2. Para produtos com único fornecedor: associação automática
  3. Para produtos com múltiplos fornecedores:
    • Administrador define qual fornecedor atenderá
    • Sistema recalcula disponibilidade
  4. Sistema gera atribuições finais
  5. Confirma composição

Pós-condições: Pedidos associados aos fornecedores para entrega


📝 6. CADASTROS BÁSICOS

UC011 - Gerenciar Produtos (CRUD)

CampoDescrição
Ator PrincipalAdministrador
ObjetivoManter catálogo de produtos do sistema

Campos do Produto:

  • Nome: Identificação do produto
  • Categoria: Classificação (fruta, legume, etc.)
  • Medida: Unidade de venda (kg, maço, dúzia, etc.)
  • Peso em Gramas: Para cálculos nutricionais
  • Valor de Referência: Preço base para ofertas
  • Descrição: Informações adicionais para consumidores
  • Situação: Ativo/Inativo

Regras de Negócio:

  • Produtos inativos não aparecem em novas ofertas
  • Histórico é preservado (não há exclusão física)
  • Alterações de preço requerem novo produto (controle de histórico)

UC012 - Gerenciar Categorias (CRUD)

CampoDescrição
Ator PrincipalAdministrador
ObjetivoOrganizar produtos por categorias

Exemplos de Categorias:

  • Frutas
  • Legumes e Verduras
  • Grãos e Cereais
  • Proteínas
  • Laticínios

UC013 - Gerenciar Pontos de Entrega (CRUD)

CampoDescrição
Ator PrincipalAdministrador
ObjetivoCadastrar locais de entrega/retirada

Informações do Ponto:

  • Nome do local
  • Endereço completo
  • Pessoa responsável
  • Observações (horários, instruções)

UC014 - Gerenciar Tipos de Cestas (CRUD)

CampoDescrição
Ator PrincipalAdministrador
ObjetivoDefinir tipos de cestas disponíveis

Configurações da Cesta:

  • Nome identificador
  • Valor máximo para composição
  • Descrição/características
  • Status ativo/inativo

Cestas Especiais:

  • Cesta ID=5: Automaticamente criada para "produtos extras"
  • Não aparece em formulários normais
  • Gerenciada automaticamente pelo sistema

📊 7. RELATÓRIOS

UC015 - Relatório por Fornecedor

Objetivo: Listar produtos e valores que cada fornecedor deve entregar

Conteúdo:

  • Produtos das cestas montadas
  • Produtos dos pedidos extras atribuídos
  • Quantidades totais por produto
  • Valores totais a receber

UC016 - Relatório por Consumidor

Objetivo: Detalhar pedidos e valores por consumidor

Conteúdo:

  • Cestas recebidas (tipos e quantidades)
  • Produtos extras pedidos
  • Valores totais a pagar
  • Resumo financeiro

UC017 - Relatório por Produto

Objetivo: Visão geral de oferta vs demanda

Conteúdo:

  • Quantidades ofertadas
  • Quantidades utilizadas nas cestas
  • Quantidades disponíveis para extras
  • Quantidades pedidas nos extras
  • Sobras finais

UC018 - Exportação de Relatórios

Formatos Disponíveis:

  • CSV: Para análise em planilhas
  • PDF: Para impressão e arquivamento

🔐 8. PERFIS E PERMISSÕES

👨‍🌾 Perfil Fornecedor

Permissões:

  • ✅ Visualizar ciclos em período de ofertas
  • ✅ Registrar e editar próprias ofertas
  • ✅ Visualizar relatórios de entrega pessoais
  • ✅ Editar dados pessoais
  • ❌ Acessar gestão administrativa

🛒 Perfil Consumidor

Permissões:

  • ✅ Visualizar ciclos em período de pedidos
  • ✅ Fazer pedidos de produtos extras
  • ✅ Visualizar histórico de pedidos
  • ✅ Visualizar composição das cestas
  • ✅ Editar dados pessoais
  • ❌ Acessar gestão administrativa

⚙️ Perfil Administrador

Permissões:

  • Acesso total a todas as funcionalidades
  • ✅ Gerenciar ciclos (criar, editar, ativar/desativar)
  • ✅ Compor cestas e gerenciar sobras
  • ✅ Gerenciar todos os cadastros básicos
  • ✅ Visualizar e editar ofertas de qualquer fornecedor
  • ✅ Visualizar e editar pedidos de qualquer consumidor
  • ✅ Acessar todos os relatórios
  • ✅ Gerenciar usuários e seus perfis
  • ✅ Configurar sistema

Restrições:

  • ❌ Não pode remover próprio perfil de administrador
  • ❌ Não pode alterar próprio email

🔄 9. FLUXO OPERACIONAL COMPLETO

Fase 1: Preparação (Administrador)

  1. Criar ciclo com todas as configurações
  2. Comunicar datas para produtores e consumidores
  3. Monitorar período de ofertas

Fase 2: Ofertas (Fornecedores)

  1. Acessar ciclo durante período válido
  2. Registrar produtos e quantidades
  3. Confirmar ofertas antes do prazo

Fase 3: Composição (Administrador)

  1. Analisar ofertas recebidas
  2. Montar cestas usando indicadores visuais
  3. Gerar lista de produtos extras
  4. Publicar extras para consumidores

Fase 4: Pedidos (Consumidores)

  1. Visualizar produtos extras disponíveis
  2. Fazer pedidos durante período válido
  3. Confirmar valores e quantidades

Fase 5: Finalização (Administrador)

  1. Associar pedidos extras aos fornecedores
  2. Gerar relatórios de entrega
  3. Comunicar detalhes para produtores e consumidores

Fase 6: Entrega/Retirada

  1. Fornecedores entregam produtos conforme relatórios
  2. Consumidores retiram cestas e extras
  3. Coordenador local organiza distribuição

✨ Recursos Especiais

Automações do Sistema

  • Cálculo automático de disponibilidade
  • Remoção automática de ofertas zeradas
  • Geração automática de listas de extras
  • Associação automática para produtos com único fornecedor
  • Recálculo em tempo real de valores e estoques

Validações Inteligentes

  • Indicadores visuais para disponibilidade
  • Alertas de valor nas composições
  • Controle de períodos automático
  • Validação de estoque em tempo real

Facilidades de Uso

  • Interface responsiva para mobile
  • Organização por categorias nos formulários
  • Histórico de produtos por fornecedor
  • Feedback visual para todas as ações

Este documento cobre todos os casos de uso do Sistema Divino Alimento.

Para implementação técnica, consulte a documentação de instalação. Para uso operacional, veja o guia de início rápido.