Esta aplicação permite aos utilizadores pesquisar, visualizar e armazenar receitas de cozinha localmente, utilizando a API Spoonacular. As receitas podem ser filtradas por região e ingrediente, com funcionalidades de cache local e expiração de dados.
Os utilizadores podem também visualizar as receitas marcadas como favoritas e as pesquisas anteriores por Região e/ou Ingrediente (ver capturas de ecrã).
Ao visualizar uma receita, é possível marcá-la como Favorita; a aplicação tem uma opção separada (barra de separadores) para listar e consultar essas receitas individualmente.
-
Pesquisa de Receitas:
- Permite pesquisar receitas por região e ingrediente. Os utilizadores podem escolher entre várias regiões do mundo (ex: Italiana, Americana, Japonesa, etc.);
- Os resultados da pesquisa podem ser filtrados pelo número de receitas (10, 20 ou 30 receitas);
-
Outras opções
-
Lista das últimas pesquisas guardadas (em cache) na base de dados;
-
Lista das últimas receitas visualizadas (em cache);
-
Lista das receitas mais bem avaliadas (populares), de acordo com os critérios de pesquisa.
-
-
Armazenamento Local:
- As receitas já pesquisadas são armazenadas localmente utilizando uma base de dados SQLite. Esta funcionalidade é utilizada para fornecer respostas mais rápidas e otimizadas ao utilizador (offline, sem necessidade de acesso à internet).
-
Escolher Número de Receitas:
- Os utilizadores podem selecionar o número de receitas a carregar, com opções para 10, 20 ou 30 receitas.
-
Interface de Pesquisa:
- O campo de pesquisa por texto e o menu suspenso permitem aos utilizadores pesquisar por região e/ou ingrediente, clicando no botão pesquisar.
-
Visualização de Detalhes da Receita:
- Ao selecionar uma receita, os utilizadores podem ver informações detalhadas, incluindo ingredientes, instruções de preparação e informações adicionais sobre a receita.
-
Favoritos
- A aplicação permite ao utilizador marcar uma receita como favorita; existe uma opção dedicada (TabBar) para listar e visualizar os detalhes das receitas.
-
Notificações e Alertas:
- A aplicação mostra notificações e alertas para informar o utilizador sobre o estado das receitas carregadas (ex: "Receitas carregadas com sucesso", "Receitas carregadas da base de dados", "Erro ao carregar receitas", etc.).
- C#
- .NET MAUI - Framework para construir aplicações móveis multiplataforma para Android, iOS, MacOS e Windows.
- SQLite - Base de dados local para armazenar receitas.
- Spoonacular API - API externa para obter informações sobre receitas de cozinha.
- CommunityToolkit.Maui/MVVM - Bibliotecas para simplificar o desenvolvimento de aplicações móveis com MAUI.
- Clone o repositório => git clone https://github.com/fauxtix/MauiRecipesApp;
- Obtenha uma chave de API gratuita em https://spoonacular.com/food-api/console;
- Abra o projeto no Visual Studio ou Visual Studio Code;
- Vá ao arquivo da classe SpoonacularService.cs em Services/Implementations;
- Altere esta linha:
// Substitua _apiKey pela chave que obteve do site do Spoonacular.
private readonly string? _apiKey = "minhachave";
- Restaure os pacotes (Reconstrua a solução);
- Execute a aplicação num emulador ou dispositivo real.
A base de dados SQLite será automaticamente criada no diretório de dados da aplicação.
- Implementar funcionalidade para ordenar receitas por diferentes critérios, como tempo de preparação, popularidade, etc.
- Melhorias na interface, incluindo filtros adicionais de pesquisa.
Este projeto foi desenvolvido como uma forma de aprender e explorar as capacidades do .Net MAUI.
O principal objetivo é conhecer e experimentar os seus vários componentes e padrões.
Adicionalmente, a API Spoonacular foi incorporada para ampliar o escopo da exploração, permitindo a experimentação no acesso a APIs externas na aplicação.
No MauiRecipesApp, a API Spoonacular foi utilizada para obter dados sobre receitas de várias regiões do mundo.
- Familiarizar-se com os componentes do .Net MAUI e o seu uso;
- Compreender como integrar APIs externas em aplicações MAUI;
- Aprender o padrão arquitetural MVVM, utilizando Maui.Community.Toolkit;
- Explorar técnicas de visualização e apresentação de dados.
Este projeto está atualmente em desenvolvimento. Embora forneça funcionalidades básicas para pesquisa de receitas e acesso à API Spoonacular, espera-se que evolua com o tempo.
Contribuições são bem-vindas! Se tiver sugestões de novas funcionalidades ou melhorias, sinta-se à vontade para submeter um pull request ou abrir uma issue no GitHub.
- Faça um fork do projeto (https://github.com/fauxtix/MauiRecipesApp/fork)
- Crie um branch para a sua modificação (git checkout -b fauxtix/MauiRecipesApp)
- Faça o commit (git commit -am 'Adicionar algo como fooBar')
- Faça o push (git push origin fauxtix/MauiRecipesApp)
- Crie um novo Pull Request
Ao contribuir com código, siga o estilo de código existente e submeta um pull request com as suas alterações.
Este projeto está em andamento e pode passar por alterações e atualizações sem aviso prévio. Está a ser desenvolvido para fins educacionais e pode incluir funcionalidades e componentes experimentais.
Não tem fins comerciais nem é destinado à produção.
O projeto MauiRecipes está licenciado sob a Licença MIT.
Se tiver alguma dúvida ou necessitar de assistência, pode contactar o mantenedor do projeto:
- 👨💻 Mantenedor: Fausto Luís
- ✉ E-mail: [email protected]
Sinta-se à vontade para contactar-me com qualquer feedback ou dúvida.