Aplicação Móvel
Visão Geral da Aplicação Móvel
A aplicação Flutter do Cookest — funcionalidades, ecrãs e escolhas tecnológicas
Visão Geral da Aplicação Móvel
A aplicação Flutter do Cookest é a interface principal do utilizador — um cliente iOS e Android multiplataforma construído com um sistema de design de marca personalizado.
Tecnologias utilizadas
| Biblioteca | Versão | Finalidade |
|---|---|---|
| Flutter | 3.x | Framework UI multiplataforma |
| Dart | 3.x | Linguagem de programação |
| flutter_riverpod | ^2.6.1 | Gestão de estado |
| go_router | ^14.8.1 | Navegação declarativa |
| dio | ^5.7.0 | Cliente HTTP |
| google_fonts | ^6.2.1 | Playfair Display + Inter |
| lucide_icons | ^1.0.4 | Biblioteca de ícones |
| flutter_secure_storage | ^9.2.2 | Armazenamento seguro de tokens |
Ecrãs
| Ecrã | Rota | Descrição |
|---|---|---|
| Início de sessão | /login | Ponto de entrada de autenticação |
| Início | / | Receita em destaque, alertas da despensa, CTA de refeições para convidados |
| Refeições | /meals | Vista e edição do plano de refeições semanal |
| Receitas | /recipes | Biblioteca de receitas pesquisável |
| Detalhe da receita | /recipes/:id | Receita completa com entrada no modo de confeção |
| Despensa | /pantry | Gestão de inventário |
| Compras | /groceries | Lista de compras |
Executar a aplicação
cd UI
# Instalar dependências
flutter pub get
# Executar num dispositivo ou emulador
flutter run
# Emulador Android — usar 10.0.2.2 em vez de localhost
# Em lib/src/core/constants.dart definir baseUrl para http://10.0.2.2:8080Estrutura do projeto
UI/lib/
main.dart # Ponto de entrada da aplicação
src/
core/
router.dart # Configuração do GoRouter — todas as rotas
shared/
theme/
shadcn_theme.dart # Tokens de marca (cores, tipografia, sombra)
features/
auth/
screens/login_screen.dart
repositories/auth_repository.dart
home/
screens/home_screen.dart
meal_plan/
screens/meal_plan_screen.dart
models/meal_plan.dart
repositories/meal_plan_repository.dart
recipes/
screens/recipes_screen.dart
screens/recipe_detail_screen.dart
models/recipe.dart
repositories/recipe_repository.dart
pantry/
screens/inventory_screen.dart
models/inventory_item.dart
repositories/inventory_repository.dart
shopping_list/
screens/shopping_list_screen.dart
models/shopping_item.dart
repositories/shopping_repository.dart