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.
- Filtro de Tipo de Refeição: Os usuários podem filtrar as refeições por categorias predefinidas:
- Salada
- Sopa
- Sanduíche
- Pratos quentes
- Lanches
- Opção de Alta Proteína: Os usuários também podem filtrar para exibir apenas refeições com alto teor de proteína.
- Implementação:
- 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.
- Funcionalidade de filtragem que atualiza a exibição das refeições com base na opção selecionada no dropdown.
- Busca por Nome: Os usuários podem buscar refeições inserindo palavras-chave em um campo de busca.
- Comportamento da Busca:
- Exibir refeições cujos nomes incluam o termo de busca.
- Limpar o campo de busca após o envio.
- Implementação:
- JavaScript para gerenciar a entrada de busca, filtrar refeições no conjunto de dados e exibir resultados correspondentes.
- 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.
- Implementação:
- Função em JavaScript para selecionar uma refeição aleatória da lista filtrada atual e exibi-la com seus ingredientes.
- 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:
name
: O nome da refeição.ingredients
: Uma lista de ingredientes da refeição.type
: Tipo de refeição (ex.: salada, sopa, sanduíche, etc.).highProtein
: Um booleano indicando se a refeição é rica em proteínas.
- Implementação:
- Os dados são definidos em um arquivo JavaScript e carregados no aplicativo para uso em filtragem e busca.
- Detalhes da Refeição: Cada refeição exibida inclui:
- Nome da refeição.
- Tipo de refeição e indicador de proteína (se aplicável).
- Lista de ingredientes.
- Componentes da Interface:
- Elemento
meal-name
para o nome da refeição com o tipo e status de proteína. - Elemento
ingredients-list
exibindo cada ingrediente como um item de lista.
- Elemento
- 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.
- Uma experiência fluida com sugestões de refeições e resultados de busca exibidos imediatamente, sem recarregar a página.
- O aplicativo deve carregar rapidamente, incluindo os dados das refeições de um arquivo JavaScript pré-carregado.
- A filtragem e seleção aleatória de refeições devem ser otimizadas para minimizar o atraso.
- O aplicativo deve ser compatível com navegadores modernos, garantindo uma experiência consistente em diferentes plataformas.
- Filtros Expandidos: Filtros alimentares adicionais (ex.: sem glúten, sem nozes) poderiam ser incluídos.
- 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.
- Contas de Usuário: Opção de salvar refeições favoritas ou criar um plano de refeições personalizado.
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.