Introdução
Cookest — plataforma de planeamento de refeições com inteligência artificial
Cookest
O Cookest é uma plataforma completa de planeamento de refeições e gestão de cozinha desenvolvida como projeto de escola (PAP). O backend está agora dividido numa Food API para os dados de catálogo e numa App API para os fluxos autenticados, o cliente é uma aplicação Flutter para iOS e Android, e um pipeline em Python alimenta a base de dados de receitas e ingredientes.
O que está nesta documentação
APIs Backend
Rust · Actix-Web 4 · SeaORM — Food API, App API, autenticação, endpoints, esquema da base de dados, pipeline de PDF
Aplicação Móvel
Flutter · Riverpod · GoRouter — ecrãs, gestão de estado, sistema de design
Pipeline ETL
Python — ingestão de receitas e dados nutricionais do USDA e TheMealDB
Arquitetura
Como os três componentes se ligam e comunicam
Guia do Utilizador
Como usar o Cookest como utilizador final
Componentes UI
CUCL · React · TailwindCSS 4 · Framer Motion — biblioteca de componentes partilhada, tokens de design e Storybook
Estrutura do projeto
PAP/
api/ — Workspace backend Rust (Food API + App API, Actix-Web 4, SeaORM, PostgreSQL)
UI/ — Aplicação Flutter (Riverpod, GoRouter)
etl/ — Pipeline de dados em Python
dataset/ — Dataset CSV em bruto (MM-Food-100K)
cucl/ — Biblioteca de componentes React (TailwindCSS 4, Framer Motion)
docs/ — Este siteTecnologias
| Camada | Stack |
|---|---|
| API | Rust · Actix-Web 4 · SeaORM · PostgreSQL 15 — dividido em Food API + App API |
| Autenticação | Argon2id · JWT acesso + refresh · cookies HttpOnly |
| IA | Ollama (llava para visão PDF, llama3.2 para chat) |
| Pagamentos | Stripe — webhooks + planos Free / Pro / Family |
| Móvel | Flutter 3 · Dart 3 · Riverpod · GoRouter |
| Componentes UI | React · TailwindCSS 4 · Framer Motion · Storybook |
| Dados | Python · psycopg2 · USDA FoodData Central · TheMealDB |