Pantufood
Pantufood
Equipe
- Professores orientadores
- Estevan Brandt Braz Costa
- Alcione Benacchio
- Alunos
- Eduardo Marques Cardozo
- Fabio Augusto Nakamura de Jesus
- Wagner dos Santos Backes
Objetivo Geral
Desenvolver um sítio eletrônico que auxilie a busca de receitas baseadas em ingredientes e categorias, prática que pode trazer uma melhoria de vida dependendo dos ingredientes que o usuário escolher, além de incitar as práticas culinárias de um jeito simplificado e atrativo.
Objetivo Especifico
Maior interação entre usuários permitindo favoritar e comentar receitas de outros, além de conseguir um maior controle de receitas favoritas.
Ter uma base de receitas auto sustentável, onde o utilizador do produto em desenvolvimento possa cadastrar (com aprovação do moderador do website), alterar, excluir e consultar receitas de sua própria autoria.
O administrador pode gerenciar receitas (exclusão, adição e alteração), usuários,categorias e tags.
Problema
- Sítios eletrônicos similares que vendem seu produto prometendo cumprir tais funcionalidades, mas não as cumprem adequadamante.
- Jovens adultos que moram sozinhos optam por Fast-food's por falta de tempo ou conhecimento culinário.
- Os sites de receitas convencionais exigem que o usuário já tenha uma noção do que preparar e do que comprar.
Proposta
- Criar um ambiente WEB capaz de buscar receitas a partir de ingredientes.
- Aumentar o interesse culinário de pessoas que moram sozinhas.
- Facilitar o preparo de comidas sem precisar de conhecimento prévio do que comprar ou fazer.
- Incitar o consumo de alimentos saudáveis, colocando estes em prioridade quando o usuário for buscar receitas.
Principais Funcionalidades
- Consulta de receitas a partir de ingredientes.
- Cadastro, edição, e solicitação de exclusão de receitas.
- Cadastro, edição, consulta e desativação de usuário.
- Login a partir da conta criada.
- Comentar as receitas, filtrando comentários maldosos.
Público Alvo
Primário
- Jovens adultos e adultos que possuem dificuldades culinárias.
- Pessoas que moram sozinha.
Secundário
Trata-se de um público adjacente muito grande, pois devido a praticidade do aplicativo, qualquer pessoa com algum interesse culinário pode ser considerado público alvo.
Dicionário de Dados
-Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
Link | link | int | - | - | O link deve existir | - |
nome | nome | tinytext | - | - | Não pode ter números | - |
concluido | concluido | int | - | - | - | - |
page | page | int | - | - | - | - |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
id_receita | id_receita | tinytext | PK | FK | Not Null | - |
instrucao | instrucao | tinytext | - | - | Not Null | - |
ordem | ordem | int(3) | - | - | Not Null | - |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
nome | nome | tinytext | - | - | Not Null | - |
tempo | tempo | int(3) | - | - | Not Null | - |
porcoes | porcoes | int(3) | - | - | Not Null | - |
favoritos | favoritos | int(11) | - | - | Not Null | - |
id_categoria | id_categorias | int(11) | PK | FK | Not Null | - |
quantidade_ingredientes | quantidade_ingredientes | int(3) | - | - | Not Null | - |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
id_receita | id_receita | int(11) | PK | FK | Not Null | - |
ingrediente | ingrediente | tinytext | - | - | Not Null | - |
ingrediente_tipo | ingrediente_tipo | enum | 3 | 5 | 6 | 7 |
ordem | ordem | int(3) | - | - | - | enum('titulo', 'ingrediente') |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
ingrediente_id | ingrediente_id | int(11) | PK | FK | Not Null | - |
tag_id | tag_id | int(11) | PK | - | Not Null | - |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
nome | nome | varchar(64) | - | - | Not Null, não pode ter número | - |
opcional | opcional | tinyint(1) | - | - | Not Null | - |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
name | name | varchar(100) | - | - | não pode conter números | - |
login | login | varchar(60) | - | - | Not Null, login único | - |
senha | senha | varchar(32) | - | - | Not Null | - |
varchar(100) | - | - | Not Null, email único | - | ||
profile_img | profile_img | varchar(30) | - | - | Tamanho de arquivo máximo 5mb | - |
status | status | enum | - | - | - | - |
created | created | date | - | - | Not Null | - |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
user_id | user_id | int(11) | PK | FK | Not Null | - |
profile_id | profile_id | int(11) | PK | FK | Not Null | - |
created | created | date | - | - | Not Null | - |
deleted | deleted | int(1) | - | - | Not Null | - |
Campo Lógico | Campo Físico | Tipo | PK | FK | Restrições | Observações |
---|---|---|---|---|---|---|
id | id | int(11) | PK | - | Not Null | - |
name | name | varchar(60) | - | - | não pode conter números | - |
description | description | text | - | - | - | - |
created | created | date | - | - | Not Null | - |
modified | modified | date | - | - | Not Null | - |
deleted | deleted | int(1) | - | - | Not Null | - |
Caso de Uso
Lista de Requisitos
Código | Requisito Funcional |
---|---|
RF 01 | O sistema deve permitir a busca por receitas culinárias a partir de ingredientes e ou categorias. |
RF 02 | O sistema deve permitir a seleção de dois ou mais ingredientes para uma busca. |
RF 03 | O sistema deve permitir a seleção de uma ou mais categorias para uma busca. |
RF 04 | O sistema deve permitir a troca de ingredientes enquanto o usuário não acessar a busca. |
RF 05 | O sistema deve permitir a troca de categorias enquanto o usuário não acessar a busca. |
RF 06 | O sistema deve permitir a volta para o formulário de pesquisa a qualquer momento. |
RF 07 | O sistema deve permitir realizar cadastro, desativação, consulta e edição de usuário. |
RF 08 | O sistema deve permitir realizar cadastro, solicitação da exclusão, consulta e edição das receitas. |
RF 09 | O sistema deve permitir a edição da maneira que as receitas são consultadas. |
-
Código | Requisito Funcional | Regras de Negócio |
---|---|---|
RN 1 | RF 1 | As respostas serão ordenadas pelo quanto os ingredientes da busca se parecem com os ingredientes dentro das receitas. |
RN 2 | RF 2 | Serão permitidos no mínimo um ingredientes e no máximo vinte. |
RN 3 | RF 3 | Se nenhuma categoria for selecionada, será considerado que todas foram selecionadas. |
RN 4 | RF 3 | Os tipos de categorias considerados serão: “Carnes”, “bolos
tortas doces”, “aves”, “peixes e frutos do mar”, “saladas molhos e acompanhamentos”, “sopas”, “massas”, “doces e sobremesas”, “lanches”, “alimentação saudável”. |
RN 5 | RF 6 | Quando o usuário voltar para a tela de busca, todos os
ingredientes e categorias anteriormente escritos estarão preenchidos automaticamente. |
RN 6 | RF 7 | Um usuário cadastrado poderá apenas editar os seus dados, porém poderá consultar o de terceiros.. |
RN 7 | RF 8 | O usuário poderá cadastrar, editar, e consultar suas receitas, porém exclusão não irá deletar a receita da base de dados, apenas desativá-la. |
RN 8 | RF 9 | O usuário poderá fazer a busca por mais favoritadas |
RN 8 | RF 9 | O usuário poderá fazer a busca por mais favoritadas |
-
Código | Requisito não Funcional Tecnológico |
---|---|
RNFT 01 | O sistema deve executar em ambiente Web. |
RNFT 02 | O banco de dados deve ser MariaDB |
RNFT 03 | O sistema deve ser responsivo em diferentes tamanhos de tela. |
Logotipo
Tecnologias a serem Utilizadas
PHP - Versão: 5.6
MariaDB - Versão: 10.2.8
HTML - Versão: 5
CSS - Versão: 3
Bootstrap - Versão: 4
Javascript - Versão: 1.8.5
Eclipse Oxygen - Versão: 4.7.0
AngularJS - Versão: 1.6.0
Referências