Pantufood: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(69 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 10: Linha 10:
*Wagner dos Santos Backes
*Wagner dos Santos Backes


==Objetivo==
==Objetivo Geral==


Desenvolver um ambiente WEB que auxilie a busca de receitas baseadas em ingredientes.
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==
==Problema==
*Sites com funcionalidades parecidas não funcionam adequadamente.
*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.
*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.
*Os sites de receitas convencionais exigem que o usuário já tenha uma noção do que preparar e do que comprar.
Linha 23: Linha 30:
*Criar um ambiente WEB capaz de buscar receitas a partir de ingredientes.
*Criar um ambiente WEB capaz de buscar receitas a partir de ingredientes.
*Aumentar o interesse culinário de pessoas que moram sozinhas.
*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
*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==
==Principais Funcionalidades==
Linha 30: Linha 37:
*Cadastro, edição, e solicitação de exclusão de receitas.
*Cadastro, edição, e solicitação de exclusão de receitas.
*Cadastro, edição, consulta e desativação de usuário.
*Cadastro, edição, consulta e desativação de usuário.
*Login a partir da conta criada, google, ou do facebook.
*Login a partir da conta criada.
*Comentar as receitas, filtrando comentários maldosos.


==Público Alvo==
==Público Alvo==
Linha 44: Linha 52:
<table border="1" cellpadding="2">
<table border="1" cellpadding="2">
<caption>'''Categorias'''</caption>
<caption>'''Categorias'''</caption>
<tr><th>Campo Lógico</th><th>Campo Físico</th><th>Tipo</th><th>PK</th><th>FK</th><th>Restrições</th><th>Observações</th></tr>
<tr><th>id</th><td>id</td><td>int(11)</td><td>PK</td><td>-</td><td>Not Null</td><td>-</td>-</tr>
<tr><th>link</th><td>link</td><td>varchar(200)</td><td>-</td><td>-</td><td></td><td>-</td></tr>
<tr><th>Nome</th><td>nome</td><td>tinytext</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
</table>
<table border="1" cellpadding="2">
<caption>'''Comentario'''</caption>
<tr><th>Campo Lógico</th><th>Campo Físico</th><th>Tipo</th><th>PK</th><th>FK</th><th>Restrições</th><th>Observações</th></tr>
<tr><th>Campo Lógico</th><th>Campo Físico</th><th>Tipo</th><th>PK</th><th>FK</th><th>Restrições</th><th>Observações</th></tr>


<tr><th>id</th><td>id</td><td>int(11)</td><td>PK</td><td>-</td><td>Not Null</td><td>-</td>-</tr>
<tr><th>id</th><td>id</td><td>int(11)</td><td>PK</td><td>-</td><td>Not Null</td><td>-</td>-</tr>
<tr><th>nome</th><td>nome</td><td>tinytext</td><td>-</td><td>-</td><td>Não pode ter números, Not Null</td><td>-</td></tr>
<tr><th>Autor</th><td>autor</td><td>int(11)</td><td>-</td><td>FK</td><td></td><td>-</td></tr>
<tr><th>Id resposta</th><td>responta_id</td><td>int(11)</td><td>-</td><td>FK</td><td>-</td><td>-</td></tr>
<tr><th>Comentário</th><td>comentario</td><td>text</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
<tr><th>Data</th><td>data</td><td>int</td><td>-</td><td>-</td><td>-</td><td>Quando atualizar, valor é agora</td></tr>
<tr><th>ID Receita</th><td>receita_id</td><td>int</td><td>-</td><td>-</td><td>-</td><td>-</td>-</tr>


</table>
</table>
Linha 58: Linha 83:
<tr><th>id_receita</th><td>id_receita</td><td>tinytext</td><td>PK</td><td>FK</td><td>Not Null</td><td>-</td>-</tr>
<tr><th>id_receita</th><td>id_receita</td><td>tinytext</td><td>PK</td><td>FK</td><td>Not Null</td><td>-</td>-</tr>
<tr><th>instrucao</th><td>instrucao</td><td>tinytext</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>instrucao</th><td>instrucao</td><td>tinytext</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>ordem</th><td>ordem</td><td>int(3)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>Instricão Tipo</th><td>instrucao_tipo</td><td>enum('titulo', 'instrucao')</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>


</table>
</table>
Linha 71: Linha 96:
<tr><th>porcoes</th><td>porcoes</td><td>int(3)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>porcoes</th><td>porcoes</td><td>int(3)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>favoritos</th><td>favoritos</td><td>int(11)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>favoritos</th><td>favoritos</td><td>int(11)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>id_categoria</th><td>id_categorias</td><td>int(11)</td><td>PK</td><td>FK</td><td>Not Null</td><td>-</td></tr>
<tr><th>id_categoria</th><td>id_categorias</td><td>int(11)</td><td>-</td><td>FK</td><td>Not Null</td><td>-</td></tr>
<tr><th>quantidade_ingredientes</th><td>quantidade_ingredientes</td><td>int(3)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>quantidade_ingredientes</th><td>quantidade_ingredientes</td><td>int(3)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
 
<tr><th>Autor</th><td>autor</td><td>int(11)</td><td>-</td><td>FK</td><td>-</td><td>-</td></tr>
<tr><th>Visitado</th><td>visitado</td><td>timestamp</td><td>-</td><td>-</td><td>Not Null</td><td>CURRENT_TIMESTAMP</td></tr>


</table>
</table>
Linha 84: Linha 110:
<tr><th>id_receita</th><td>id_receita</td><td>int(11)</td><td>PK</td><td>FK</td><td>Not Null</td><td>-</td></tr>
<tr><th>id_receita</th><td>id_receita</td><td>int(11)</td><td>PK</td><td>FK</td><td>Not Null</td><td>-</td></tr>
<tr><th>ingrediente</th><td>ingrediente</td><td>tinytext</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>ingrediente</th><td>ingrediente</td><td>tinytext</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>ingrediente_tipo</th><td>ingrediente_tipo</td><td>enum</td><td>3</td><td>5</td><td>6</td><td>7</td></tr>
<tr><th>ingrediente_tag</th><td>ingrediente_tag</td><td>int(11)</td><td>-</td><td>FK</td><td>-</td><td>-</td></tr>
<tr><th>ordem</th><td>ordem</td><td>int(3)</td><td>-</td><td>-</td><td>-</td><td>enum('titulo', 'ingrediente')</td></tr>
<tr><th>ingrediente_tipo</th><td>ingrediente_tipo</td><td>enum</td><td>-</td><td>-</td><td>-</td><td>enum('titulo', 'ingrediente')</td></tr>
<tr><th>ordem</th><td>ordem</td><td>int(3)</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
<tr><th>Quantidade</th><td>quantidade</td><td>int(11)</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>




Linha 106: Linha 134:
<tr><th>nome</th><td>nome</td><td>varchar(64)</td><td>-</td><td>-</td><td>Not Null, não pode ter número</td><td>-</td></tr>
<tr><th>nome</th><td>nome</td><td>varchar(64)</td><td>-</td><td>-</td><td>Not Null, não pode ter número</td><td>-</td></tr>
<tr><th>opcional</th><td>opcional</td><td>tinyint(1)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>opcional</th><td>opcional</td><td>tinyint(1)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>Autor</th><td>opcional</td><td>int(11)</td><td>-</td><td>-</td><td>-</td><td>Default 3</td></tr>
<tr><th>Status</th><td>estatus</td><td>tinyint(1)</td><td>-</td><td>-</td><td>-</td><td>Default 1</td></tr>


</table>
</table>
Linha 117: Linha 147:
<tr><th>login</th><td>login</td><td>varchar(60)</td><td>-</td><td>-</td><td>Not Null, login único</td><td>-</td></tr>
<tr><th>login</th><td>login</td><td>varchar(60)</td><td>-</td><td>-</td><td>Not Null, login único</td><td>-</td></tr>
<tr><th>senha</th><td>senha</td><td>varchar(32)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>senha</th><td>senha</td><td>varchar(32)</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>Tipo Usuario</th><td>profile</td><td>int(1)</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
<tr><th>email</th><td>email</td><td>varchar(100)</td><td>-</td><td>-</td><td>Not Null, email único</td><td>-</td></tr>
<tr><th>email</th><td>email</td><td>varchar(100)</td><td>-</td><td>-</td><td>Not Null, email único</td><td>-</td></tr>
<tr><th>profile_img</th><td>profile_img</td><td>varchar(30)</td><td>-</td><td>-</td><td>Tamanho de arquivo máximo 5mb</td><td>-</td></tr>
<tr><th>status</th><td>status</td><td>enum('ATIVO', 'INATIVO')</td><td>-</td><td>-</td><td>-</td><td>ATIVO</td></tr>
<tr><th>status</th><td>status</td><td>enum</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
<tr><th>created</th><td>created</td><td>date</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>created</th><td>created</td><td>date</td><td>-</td><td>-</td><td>Not Null</td><td>-</td></tr>
<tr><th>Imagem</th><td>image</td><td>varchar(100)</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
<tr><th>Descrição</th><td>description</td><td>text</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>


</table>
</table>
Linha 148: Linha 181:


</table>
</table>
==Caso de Uso==
[[Arquivo:FabinhoDigDinDuduzim200CarretaFuracaoWagnerUltravox8casodeuso1.png |180px]]
==Lista de Requisitos==
<table border="1" cellpadding="2">
<tr><th>Código</th><th>Requisito Funcional</th></tr>
<tr><td>RF 01</td><td>O sistema deve permitir a busca por receitas culinárias a partir de
ingredientes e ou categorias.</td></tr>
<tr><td>RF 02</td><td>O sistema deve permitir a seleção de dois ou mais ingredientes para uma
busca.</td></tr>
<tr><td>RF 03</td><td>O sistema deve permitir a seleção de uma ou mais categorias para uma busca.</td></tr>
<tr><td>RF 04</td><td>O sistema deve permitir a troca de ingredientes enquanto o usuário não acessar a busca.</td></tr>
<tr><td>RF 05</td><td>O sistema deve permitir a troca de categorias enquanto o usuário não acessar a busca.</td></tr>
<tr><td>RF 06</td><td>O sistema deve permitir a volta para o formulário de pesquisa a qualquer momento.</td></tr>
<tr><td>RF 07</td><td>O sistema deve permitir realizar cadastro, desativação, consulta e edição de usuário.</td></tr>
<tr><td>RF 08</td><td>O sistema deve permitir realizar cadastro, solicitação da exclusão, consulta e edição das receitas.</td></tr>
<tr><td>RF 09</td><td>O sistema deve permitir o cadastro de Tags.</td></tr>
<tr><td>RF 10</td><td>O sistema deve permitir a edição da maneira que as receitas são consultadas.</td></tr>
<tr><td>RF 11</td><td>O sistema deve permitir o cadastro, edição, consulta e exclusão de comentários.</td></tr>
</table>
<caption>'''-'''</caption>
<table border="1" cellpadding="2">
<tr><th>Código</th><th>Requisito Funcional</th><th>Regras de Negócio</th><tr>
<tr>
<td>RN 1</td>
<td>RF 1</td>
<td>As respostas serão ordenadas pelo quanto os ingredientes da
busca se parecem com os ingredientes dentro das receitas.</td></tr>
<tr>
<td>RN 1</td>
<td>RF 2</td>
<td>As receitas serão ordenadas por popularidade, e irá existir prioridade nas receitas saudáveis</td></tr>
<tr>
<td>RN 2</td>
<td>RF 3</td>
<td>Serão permitidos no mínimo um ingredientes e no máximo
vinte.</td></tr>
<tr>
<td>RN 3</td>
<td>RF 4</td>
<td>Se nenhuma categoria for selecionada, será considerado que
todas foram selecionadas.</td></tr>
<tr>
<td>RN 4</td>
<td>RF 5</td>
<td>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”.</td></tr>
<tr>
<td>RN 5</td>
<td>RF 6</td>
<td>Quando o usuário voltar para a tela de busca, esta não estará preenchida</td></tr>
<tr>
<td>RN 6</td>
<td>RF 7</td>
<td>Um usuário cadastrado poderá apenas editar os seus dados,
porém poderá consultar o de terceiros..</td></tr>
<tr>
<td>RN 7</td>
<td>RF 8</td>
<td>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.</td></tr>
<tr>
<td>RN 8</td>
<td>RF 9</td>
<td>O cadastro de tags será feito dentro do cadastro de ingredientes( para o admin )</td></tr>
<tr>
<td>RN 9</td>
<td>RF 10</td>
<td>O usuário poderá fazer a busca por mais favoritadas</td></tr>
<tr>
<td>RN 10</td>
<td>RF 11</td>
<td>O usuário poderá fazer a busca por mais favoritadas</td></tr>
</table>
<caption>'''-'''</caption>
<table border="1" cellpadding="2">
<tr><th>Código</th><th>Requisito não Funcional Tecnológico</th>
<tr><td>RNFT 01</td><td>O sistema deve executar em ambiente Web.</td></tr>
<tr><td>RNFT 02</td><td>O banco de dados deve ser MariaDB</td></tr>
<tr><td>RNFT 03</td><td>O sistema deve ser responsivo em diferentes tamanhos de tela.</td></tr>
</table>
==Logotipo==


==Tecnologias a serem Utilizadas==
==Tecnologias a serem Utilizadas==
[https://secure.php.net/downloads.php PHP]
- Versão: 5.6
[https://mariadb.org/download/ MariaDB]
- Versão: 10.2.8
HTML
- Versão: 5
CSS
- Versão: 3
[http://getbootstrap.com/ Bootstrap]
- Versão: 4
[https://www.javascript.com/try Javascript]
- Versão: 1.8.5
[https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz Eclipse Oxygen]
- Versão: 4.7.0
[https://angularjs.org/ AngularJS]
- Versão: 1.6.0
==EAP==
[https://docs.google.com/spreadsheets/d/1HuHjeIxs5tPDiDwaqd54nl03Vp-celP0hRYmhzGGZtk/edit?usp=sharing EAP]
==Layout==


*PHP
[http://wiki.foz.ifpr.edu.br/wiki/index.php/Layout_telas Layout de Telas]
*MariaDB
*HTML5
*CSS3
*BOOTSTRAP
*JavaScript


==Referências==
==Referências==

Edição atual tal como às 13h06min de 27 de novembro de 2017

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

-


Categorias
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
linklinkvarchar(200)---
Nomenometinytext----
--
Comentario
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
Autorautorint(11)-FK-
Id respostaresponta_idint(11)-FK--
Comentáriocomentariotext----
Datadataint---Quando atualizar, valor é agora
ID Receitareceita_idint----
-
Preparo
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
id_receitaid_receitatinytextPKFKNot Null-
instrucaoinstrucaotinytext--Not Null-
Instricão Tipoinstrucao_tipoenum('titulo', 'instrucao')----
Receitas
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
nomenometinytext--Not Null-
tempotempoint(3)--Not Null-
porcoesporcoesint(3)--Not Null-
favoritosfavoritosint(11)--Not Null-
id_categoriaid_categoriasint(11)-FKNot Null-
quantidade_ingredientesquantidade_ingredientesint(3)--Not Null-
Autorautorint(11)-FK--
Visitadovisitadotimestamp--Not NullCURRENT_TIMESTAMP


Ingredientes
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
id_receitaid_receitaint(11)PKFKNot Null-
ingredienteingredientetinytext--Not Null-
ingrediente_tagingrediente_tagint(11)-FK--
ingrediente_tipoingrediente_tipoenum---enum('titulo', 'ingrediente')
ordemordemint(3)----
Quantidadequantidadeint(11)----
Ingredientes_tags
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ingrediente_idingrediente_idint(11)PKFKNot Null-
tag_idtag_idint(11)PK-Not Null-
Tags
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
nomenomevarchar(64)--Not Null, não pode ter número-
opcionalopcionaltinyint(1)--Not Null-
Autoropcionalint(11)---Default 3
Statusestatustinyint(1)---Default 1
User
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
namenamevarchar(100)--não pode conter números-
loginloginvarchar(60)--Not Null, login único-
senhasenhavarchar(32)--Not Null-
Tipo Usuarioprofileint(1)----
emailemailvarchar(100)--Not Null, email único-
statusstatusenum('ATIVO', 'INATIVO')---ATIVO
createdcreateddate--Not Null-
Imagemimagevarchar(100)----
Descriçãodescriptiontext----
profile_users
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
user_iduser_idint(11)PKFKNot Null-
profile_idprofile_idint(11)PKFKNot Null-
createdcreateddate--Not Null-
deleteddeletedint(1)--Not Null-
Profiles
Campo LógicoCampo FísicoTipoPKFKRestriçõesObservações
ididint(11)PK-Not Null-
namenamevarchar(60)--não pode conter números-
descriptiondescriptiontext----
createdcreateddate--Not Null-
modifiedmodifieddate--Not Null-
deleteddeletedint(1)--Not Null-

Caso de Uso

Lista de Requisitos

CódigoRequisito Funcional
RF 01O sistema deve permitir a busca por receitas culinárias a partir de ingredientes e ou categorias.
RF 02O sistema deve permitir a seleção de dois ou mais ingredientes para uma busca.
RF 03O sistema deve permitir a seleção de uma ou mais categorias para uma busca.
RF 04O sistema deve permitir a troca de ingredientes enquanto o usuário não acessar a busca.
RF 05O sistema deve permitir a troca de categorias enquanto o usuário não acessar a busca.
RF 06O sistema deve permitir a volta para o formulário de pesquisa a qualquer momento.
RF 07O sistema deve permitir realizar cadastro, desativação, consulta e edição de usuário.
RF 08O sistema deve permitir realizar cadastro, solicitação da exclusão, consulta e edição das receitas.
RF 09O sistema deve permitir o cadastro de Tags.
RF 10O sistema deve permitir a edição da maneira que as receitas são consultadas.
RF 11O sistema deve permitir o cadastro, edição, consulta e exclusão de comentários.

-

CódigoRequisito FuncionalRegras 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 1 RF 2 As receitas serão ordenadas por popularidade, e irá existir prioridade nas receitas saudáveis
RN 2 RF 3 Serão permitidos no mínimo um ingredientes e no máximo vinte.
RN 3 RF 4 Se nenhuma categoria for selecionada, será considerado que todas foram selecionadas.
RN 4 RF 5 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, esta não estará preenchida
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 cadastro de tags será feito dentro do cadastro de ingredientes( para o admin )
RN 9 RF 10 O usuário poderá fazer a busca por mais favoritadas
RN 10 RF 11 O usuário poderá fazer a busca por mais favoritadas

-

CódigoRequisito não Funcional Tecnológico
RNFT 01O sistema deve executar em ambiente Web.
RNFT 02O banco de dados deve ser MariaDB
RNFT 03O 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

EAP

EAP

Layout

Layout de Telas

Referências