Skip to content

Commit 6c95013

Browse files
committed
Add and link requirements doc
1 parent 33a1202 commit 6c95013

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ Gerador de refeições veganas com lista de ingredientes.
77

88
___
99

10+
## Regras de negócio
11+
12+
Para obter uma documentação detalhada de como a aplicação deve funcionar, leia as [regras de negócio](./docs/requirements.md).
13+
1014
## Pré-requisitos
1115

1216
Para rodar a análise estática de código e os testes automatizados, você vai precisar dos seguintes sistemas instalados em seu computador:

docs/requirements.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
2+
# Regras de negócio para o sistema de "Sugestão de Refeições Veganas"
3+
4+
---
5+
6+
## Visão Geral
7+
8+
Este documento descreve os requisitos de negócio para um aplicativo web que oferece sugestões de refeições veganas. O aplicativo permite que os usuários busquem refeições veganas com base em categorias específicas ou conteúdo de alta proteína. O objetivo do aplicativo é fornecer aos usuários ideias rápidas e acessíveis de refeições veganas com ingredientes e opções de filtragem que atendam a várias preferências alimentares.
9+
10+
---
11+
12+
## Funcionalidades Principais e Requisitos Funcionais
13+
14+
### 1. Categorias e Filtros de Refeição
15+
16+
- **Filtro de Tipo de Refeição**: Os usuários podem filtrar as refeições por categorias predefinidas:
17+
- Salada
18+
- Sopa
19+
- Sanduíche
20+
- Pratos quentes
21+
- Lanches
22+
- **Opção de Alta Proteína**: Os usuários também podem filtrar para exibir apenas refeições com alto teor de proteína.
23+
- **Implementação**:
24+
- Um dropdown em HTML com os tipos de refeição disponíveis e uma opção específica para refeições de alta proteína.
25+
- Funcionalidade de filtragem que atualiza a exibição das refeições com base na opção selecionada no dropdown.
26+
27+
### 2. Funcionalidade de Busca de Refeições
28+
29+
- **Busca por Nome**: Os usuários podem buscar refeições inserindo palavras-chave em um campo de busca.
30+
- **Comportamento da Busca**:
31+
- Exibir refeições cujos nomes incluam o termo de busca.
32+
- Limpar o campo de busca após o envio.
33+
- **Implementação**:
34+
- JavaScript para gerenciar a entrada de busca, filtrar refeições no conjunto de dados e exibir resultados correspondentes.
35+
36+
### 3. Geração de Refeição Aleatória
37+
38+
- **Exibição de Refeição Aleatória**: Quando a página é carregada ou quando nenhuma refeição específica é buscada, uma sugestão de refeição aleatória da lista filtrada aparece na tela.
39+
- **Implementação**:
40+
- Função em JavaScript para selecionar uma refeição aleatória da lista filtrada atual e exibi-la com seus ingredientes.
41+
42+
### 4. Dados e Estrutura das Refeições
43+
44+
- **Conjunto de Dados de Refeições**: Os dados das refeições são armazenados como um array de objetos, cada um representando uma refeição com os seguintes atributos:
45+
- `name`: O nome da refeição.
46+
- `ingredients`: Uma lista de ingredientes da refeição.
47+
- `type`: Tipo de refeição (ex.: salada, sopa, sanduíche, etc.).
48+
- `highProtein`: Um booleano indicando se a refeição é rica em proteínas.
49+
- **Implementação**:
50+
- Os dados são definidos em um arquivo JavaScript e carregados no aplicativo para uso em filtragem e busca.
51+
52+
### 5. Exibição e Informação das Refeições
53+
54+
- **Detalhes da Refeição**: Cada refeição exibida inclui:
55+
- Nome da refeição.
56+
- Tipo de refeição e indicador de proteína (se aplicável).
57+
- Lista de ingredientes.
58+
- **Componentes da Interface**:
59+
- Elemento `meal-name` para o nome da refeição com o tipo e status de proteína.
60+
- Elemento `ingredients-list` exibindo cada ingrediente como um item de lista.
61+
62+
---
63+
64+
## Requisitos Não Funcionais
65+
66+
### 1. Interface do Usuário e Usabilidade
67+
68+
- A interface do usuário deve ser amigável, com rótulos claros para o dropdown de filtro, barra de busca e funcionalidades de botões.
69+
- Uma experiência fluida com sugestões de refeições e resultados de busca exibidos imediatamente, sem recarregar a página.
70+
71+
### 2. Desempenho
72+
73+
- O aplicativo deve carregar rapidamente, incluindo os dados das refeições de um arquivo JavaScript pré-carregado.
74+
- A filtragem e seleção aleatória de refeições devem ser otimizadas para minimizar o atraso.
75+
76+
### 3. Compatibilidade com Navegadores
77+
78+
- O aplicativo deve ser compatível com navegadores modernos, garantindo uma experiência consistente em diferentes plataformas.
79+
80+
---
81+
82+
## Considerações Futuras
83+
84+
- **Filtros Expandidos**: Filtros alimentares adicionais (ex.: sem glúten, sem nozes) poderiam ser incluídos.
85+
- **Detalhes da Refeição**: A inclusão de informações nutricionais, tempo de preparo e instruções passo a passo poderia aprimorar a experiência do usuário.
86+
- **Contas de Usuário**: Opção de salvar refeições favoritas ou criar um plano de refeições personalizado.
87+
88+
---
89+
90+
Este documento descreve a funcionalidade e os objetivos do sistema de sugestão de refeições veganas para garantir uma experiência confiável e agradável para os usuários que buscam ideias de refeições veganas.

0 commit comments

Comments
 (0)