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
| Campo | Descrição |
|---|---|
| Ator Principal | Usuário (qualquer perfil) |
| Pré-condições | Usuário possui conta Google válida, sistema disponível |
| Objetivo | Autenticar usuário no sistema usando Google OAuth |
Fluxo Normal:
- Usuário acessa o sistema
- Clica em "Login"
- Sistema redireciona para autenticação OAuth (Google)
- Usuário fornece credenciais Google
- Sistema recebe token de autenticação
- Sistema verifica se usuário está cadastrado
- Sistema cria sessão do usuário
- 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
| Campo | Descrição |
|---|---|
| Ator Principal | Usuário não cadastrado |
| Pré-condições | Usuário autenticado via OAuth mas não cadastrado no sistema |
| Objetivo | Completar cadastro do novo usuário |
Fluxo Normal:
- Sistema detecta usuário não cadastrado
- Exibe formulário com dados do OAuth
- Usuário preenche dados complementares (nome, celular)
- Informa dados para pagamento (conta bancária, PIX)
- Marca aceite da política de privacidade
- Define perfil de acesso (consumidor/fornecedor)
- Sistema valida dados
- Sistema cria usuário
- 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)
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Pré-condições | Usuário com perfil administrador |
| Objetivo | Gerenciar dados e perfis dos usuários |
Fluxo Normal:
- Administrador acessa gestão de usuários
- Sistema exibe lista de usuários
- Administrador seleciona usuário
- Edita dados e perfis de acesso
- Define status (ativo/inativo)
- Salva alterações
- 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
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Pré-condições | Produtos cadastrados, tipos de cesta definidos, pontos de entrega cadastrados |
| Objetivo | Criar novo ciclo de comercialização |
Fluxo Normal:
- Administrador acessa "Ciclos"
- Clica em "Novo Ciclo"
- Preenche nome do ciclo
- Define período de ofertas (início/fim)
- Define período de pedidos (início/fim)
- Define um ou mais períodos de entrega dos produtos (início/fim)
- Define período de retirada (início/fim)
- Seleciona um ponto de entrega
- Configura quais cestas comporão o ciclo e suas quantidades
- Insere observações opcionais
- Salva ciclo com status "ativo"
- 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
| Campo | Descrição |
|---|---|
| Ator Principal | Todos os usuários |
| Pré-condições | Usuário autenticado |
| Objetivo | Visualizar 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
| Campo | Descrição |
|---|---|
| Ator Principal | Fornecedor ou Administrador |
| Pré-condições | Ciclo ativo, produtos cadastrados |
| Objetivo | Registrar produtos disponíveis para o ciclo |
Fluxo Normal:
- Usuário acessa ciclo disponível
- Sistema carrega oferta existente ou cria nova
- Sistema exibe catálogo de produtos por categoria
- Usuário define quantidades para cada produto
- Sistema calcula valores automaticamente
- Usuário salva oferta
- 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
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Pré-condições | Ofertas cadastradas no ciclo |
| Objetivo | Montar cestas usando produtos oferecidos |
Fluxo Normal:
- Administrador acessa composição do ciclo
- Seleciona tipo de cesta
- Sistema exibe produtos oferecidos ordenados por disponibilidade
- Sistema indica com cores a viabilidade:
- 🟢 Verde: Quantidade suficiente para todas as cestas
- 🟡 Amarelo: Quantidade parcial (atende algumas cestas)
- 🔴 Vermelho: Quantidade insuficiente
- Administrador define produtos e quantidades da cesta
- Sistema calcula valor total e compara com valor máximo:
- 🟢 Verde: Dentro do orçamento
- 🔴 Vermelho: Excedeu valor máximo
- Salva configuração da cesta
- 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
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Pré-condições | Composições de cestas finalizadas |
| Objetivo | Disponibilizar produtos excedentes para venda direta |
Fluxo Normal:
- Sistema calcula automaticamente produtos não utilizados nas cestas
- Administrador acessa "Lista de Ofertas Extras"
- Sistema exibe produtos com quantidades disponíveis
- Administrador pode editar quantidades ou remover produtos
- Confirma lista final
- 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
| Campo | Descrição |
|---|---|
| Ator Principal | Consumidor |
| Pré-condições | Ciclo com produtos extras disponíveis |
| Objetivo | Fazer pedido de produtos complementares |
Fluxo Normal:
- Consumidor acessa ciclo ativo
- Sistema exibe observações do ciclo no topo
- Sistema lista produtos extras disponíveis
- Consumidor seleciona produtos e quantidades desejadas
- Sistema calcula valores totais em tempo real
- Sistema valida disponibilidade
- Consumidor revisa resumo do pedido
- Salva pedido (não há diferenciação entre rascunho e finalizado)
- Sistema registra pedido
- 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
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Pré-condições | Pedidos de consumidores registrados |
| Objetivo | Associar pedidos aos fornecedores |
Fluxo Normal:
- Sistema consolida todos os pedidos por produto
- Para produtos com único fornecedor: associação automática
- Para produtos com múltiplos fornecedores:
- Administrador define qual fornecedor atenderá
- Sistema recalcula disponibilidade
- Sistema gera atribuições finais
- Confirma composição
Pós-condições: Pedidos associados aos fornecedores para entrega
📝 6. CADASTROS BÁSICOS
UC011 - Gerenciar Produtos (CRUD)
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Objetivo | Manter 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)
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Objetivo | Organizar produtos por categorias |
Exemplos de Categorias:
- Frutas
- Legumes e Verduras
- Grãos e Cereais
- Proteínas
- Laticínios
UC013 - Gerenciar Pontos de Entrega (CRUD)
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Objetivo | Cadastrar 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)
| Campo | Descrição |
|---|---|
| Ator Principal | Administrador |
| Objetivo | Definir 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)
- Criar ciclo com todas as configurações
- Comunicar datas para produtores e consumidores
- Monitorar período de ofertas
Fase 2: Ofertas (Fornecedores)
- Acessar ciclo durante período válido
- Registrar produtos e quantidades
- Confirmar ofertas antes do prazo
Fase 3: Composição (Administrador)
- Analisar ofertas recebidas
- Montar cestas usando indicadores visuais
- Gerar lista de produtos extras
- Publicar extras para consumidores
Fase 4: Pedidos (Consumidores)
- Visualizar produtos extras disponíveis
- Fazer pedidos durante período válido
- Confirmar valores e quantidades
Fase 5: Finalização (Administrador)
- Associar pedidos extras aos fornecedores
- Gerar relatórios de entrega
- Comunicar detalhes para produtores e consumidores
Fase 6: Entrega/Retirada
- Fornecedores entregam produtos conforme relatórios
- Consumidores retiram cestas e extras
- 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.