Pantufood: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(33 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 12: Linha 12:
==Objetivo Geral==
==Objetivo Geral==


Desenvolver um sítio eletrônico que auxilie a busca de receitas baseadas em ingredientes e categorias, trazendo assim uma melhoria na alimentação e na qualidade de vida do usuário além de incitar as práticas culinárias de um jeito simplificado e atrativo.
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==
==Objetivo Especifico==
Permitir uma maior integração entre usuário e sítio eletrônico através de funcionalidades,tais como: cadastro e desativação de conta e alteração de dados pessoais dentro do domínio eletrônico, além de conseguir favoritar e comentar receitas de terceiros, gerando assim uma comunidade virtual unida em prol do compartilhamento de receitas virtuais, que estão hospedadas em um banco de dados online cedido por um dos integrantes do projeto integrador em questão.
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.
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==
Linha 35: 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 53: Linha 56:


<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>Link</th><td>link</td><td>int</td><td>-</td><td>-</td><td>O link deve existir</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>Não pode ter números</td><td>-</td></tr>
<tr><th>Nome</th><td>nome</td><td>tinytext</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
<tr><th>concluido</th><td>concluido</td><td>int</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
 
<tr><th>page</th><td>page</td><td>int</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>id</th><td>id</td><td>int(11)</td><td>PK</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>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 67: 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 80: 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 93: 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 115: 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 126: 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 163: Linha 187:
==Lista de Requisitos==
==Lista de Requisitos==
<table border="1" cellpadding="2">
<table border="1" cellpadding="2">
<tr><th>Código</th><th>Requisito Funcional</th>
<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
<tr><td>RF 01</td><td>O sistema deve permitir a busca por receitas culinárias a partir de
Linha 173: Linha 197:
<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 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 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, exclusão, consulta e edição de usuário.</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, exclusão, consulta e edição das receitas.</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 a edição da maneira que as receitas são consultadas.</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>
</table>
<caption>'''-'''</caption>
<caption>'''-'''</caption>
<table border="1" cellpadding="2">
<table border="1" cellpadding="2">
<tr><th>Código</th><th>Requisito Funcional</th><th>Regras de Negócio</th>
<tr><th>Código</th><th>Requisito Funcional</th><th>Regras de Negócio</th><tr>


<tr>
<tr>
Linha 186: Linha 213:
<td>As respostas serão ordenadas pelo quanto os ingredientes da
<td>As respostas serão ordenadas pelo quanto os ingredientes da
busca se parecem com os ingredientes dentro das receitas.</td></tr>
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>
<tr>
<td>RN 2</td>
<td>RN 2</td>
<td>RF 2</td>
<td>RF 3</td>
<td>Serão permitidos no mínimo um ingredientes e no máximo
<td>Serão permitidos no mínimo um ingredientes e no máximo
vinte.</td></tr>
vinte.</td></tr>
<tr>
<tr>
<td>RN 3</td>
<td>RN 3</td>
<td>RF 3</td>
<td>RF 4</td>
<td>Se nenhuma categoria for selecionada, será considerado que
<td>Se nenhuma categoria for selecionada, será considerado que
todas foram selecionadas.</td></tr>
todas foram selecionadas.</td></tr>
<tr>
<tr>
<td>RN 4</td>
<td>RN 4</td>
<td>RF 3</td>
<td>RF 5</td>
<td>Os tipos de categorias considerados serão: “Carnes”, “bolos
<td>Os tipos de categorias considerados serão: “Carnes”, “bolos
tortas doces”, “aves”, “peixes e frutos do mar”, “saladas
tortas doces”, “aves”, “peixes e frutos do mar”, “saladas
Linha 206: Linha 237:
<td>RN 5</td>
<td>RN 5</td>
<td>RF 6</td>
<td>RF 6</td>
<td>Quando o usuário voltar para a tela de busca, todos os
<td>Quando o usuário voltar para a tela de busca, esta não estará preenchida</td></tr>
ingredientes e categorias anteriormente escritos estarão
preenchidos automaticamente.</td></tr>
<tr>
<tr>
<td>RN 6</td>
<td>RN 6</td>
Linha 217: Linha 246:
<td>RN 7</td>
<td>RN 7</td>
<td>RF 8</td>
<td>RF 8</td>
<td>O usuário poderá cadastrar, e consultar suas receitas, porém
<td>O usuário poderá cadastrar, editar, e consultar suas receitas, porém
edições e a exclusão serão solicitadas aos administradores.</td></tr>
exclusão não irá deletar a receita da base de dados, apenas desativá-la.</td></tr>
<tr>
<tr>
<td>RN 8</td>
<td>RN 8</td>
<td>RF 9</td>
<td>RF 9</td>
<td>O usuário poderá fazer a busca por, mais ou menos
<td>O cadastro de tags será feito dentro do cadastro de ingredientes( para o admin )</td></tr>
populares, mais ou menos favoritadas, mais ou menos
<tr>
simples.</td></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>
</table>
<caption>'''-'''</caption>
<caption>'''-'''</caption>
Linha 258: Linha 294:
  [https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz Eclipse Oxygen]
  [https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz Eclipse Oxygen]
  - Versão: 4.7.0
  - 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==
[http://wiki.foz.ifpr.edu.br/wiki/index.php/Layout_telas Layout de Telas]


==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