-
Notifications
You must be signed in to change notification settings - Fork 0
6. Diagramas de Domínio
Sérgio Martins edited this page May 15, 2025
·
2 revisions
Este documento apresenta o modelo de domínio do aplicativo Sabor Express, destacando as principais entidades, seus atributos e relacionamentos.
classDiagram
%% Entidades Principais
class Usuario {
+String id
+String nome
+String email
+String foto
+DateTempo dataCadastro
+List~Receita~ favoritos
+List~Receita~ historicoPreparo
}
class Receita {
+String id
+String titulo
+String descricao
+String imagem
+TipoReceita tipo
+String paisOrigem
+int tempoPreparo
+int porcoes
+String dificuldade
+String videoUrl
+DateTempo dataCriacao
+int avaliacaoMedia
}
class Categoria {
+String id
+String nome
+String descricao
+String imagem
+TipoReceita tipo
}
class Ingrediente {
+String id
+String nome
+String unidadeMedida
+String grupoPrincipal
}
class IngredienteReceita {
+String quantidade
+String observacao
+boolean opcional
}
class PassoPreparo {
+int ordem
+String descricao
+String imagem
+int tempoEstimado
}
class Avaliacao {
+String id
+int nota
+String comentario
+DateTempo dataAvaliacao
+String fotoResultado
}
class RecomendacaoReceita {
+TipoCompatibilidade tipoCompatibilidade
+int nivelCompatibilidade
}
class HistoricoPreparo {
+String id
+DateTempo dataPreparo
+boolean concluido
+List~Boolean~ ingredientesUsados
+List~Boolean~ passosConcluidos
+String anotacoes
}
%% Enumerações
class TipoReceita {
<<enumeration>>
COMIDA
BEBIDA
}
class TipoCompatibilidade {
<<enumeration>>
HARMONIZACAO
COMPLEMENTO
ALTERNATIVA
}
class MetodoPesquisa {
<<enumeration>>
NOME
INGREDIENTE
PRIMEIRA_LETRA
PAIS
CATEGORIA
}
%% Relacionamentos
Usuario "1" -- "*" Receita : favorita
Usuario "1" -- "*" HistoricoPreparo : possui
HistoricoPreparo "*" -- "1" Receita : registra
Receita "1" -- "*" PassoPreparo : contém
Receita "*" -- "*" Categoria : pertence
Receita "1" -- "*" IngredienteReceita : possui
IngredienteReceita "*" -- "1" Ingrediente : referencia
Receita "1" -- "*" Avaliacao : recebe
Usuario "1" -- "*" Avaliacao : faz
Receita "1" -- "*" RecomendacaoReceita : oferece
RecomendacaoReceita "*" -- "1" Receita : recomenda
| Entidade | Descrição | Responsabilidades |
|---|---|---|
| Usuário | Representa o utilizador do aplicativo. | • Favoritar receitas • Registrar histórico de preparos • Avaliar receitas • Manter perfil pessoal |
| Receita | Entidade central do sistema. | • Armazenar dados básicos do prato/bebida • Manter lista de ingredientes e quantidades • Preservar instruções de preparo • Exibir avaliações e média • Oferecer recomendações |
| Categoria | Classificação das receitas. | • Organizar receitas por tipo • Facilitar navegação e descoberta • Agrupar receitas similares |
| Ingrediente | Base de ingredientes do sistema. | • Padronizar nomes e unidades • Permitir buscas por ingrediente • Facilitar cálculos de nutrição |
| IngredienteReceita | Associação entre ingrediente e receita. | • Especificar quantidade para a receita • Indicar observações de uso • Marcar ingredientes opcionais |
| PassoPreparo | Etapas do preparo da receita. | • Detalhar instruções sequenciais • Estimar tempo por etapa • Associar imagens ilustrativas |
| Avaliação | Feedback dos usuários. | • Registrar notas e comentários • Mostrar fotos de resultados • Ajudar outros usuários na escolha |
| RecomendacaoReceita | Relações entre receitas. | • Sugerir harmonizações • Recomendar complementos • Propor alternativas |
| HistoricoPreparo | Registro de experiências. | • Acompanhar progresso • Salvar adaptações pessoais • Marcar receitas já preparadas |
- Uma receita deve ser sempre classificada como COMIDA ou BEBIDA.
- Recomendações são sempre cruzadas: comidas recomendam bebidas e vice-versa.
- Uma receita deve ter pelo menos um ingrediente e um passo de preparo.
- Um usuário só pode avaliar uma receita após registrá-la como preparada em seu histórico.
- As categorias são específicas para um tipo de receita (comida ou bebida).
- O histórico de preparo pode ser parcial (não concluído) ou completo.
- Uma receita pode pertencer a múltiplas categorias, mas ao menos uma é obrigatória.
- O sistema de avaliação varia de 1 a 5 estrelas.