Application web personnelle de suivi nutritionnel (PWA, mobile-first).
Saisis ton profil et ton objectif (perte / prise / maintien) : l'app calcule tes besoins en énergie et macronutriments, suit ton poids et ton activité, et te laisse enregistrer tes repas en langage naturel — l'IA découpe le message en aliments + quantités, valorisés via la table nutritionnelle CIQUAL.
- Next.js 15 (App Router, TypeScript), Tailwind CSS v4 — PWA installable
- Prisma + PostgreSQL
- NextAuth v5 (mono-utilisateur, credentials)
- Anthropic API (
claude-haiku-4-5, structured outputs) pour le découpage des repas - Base nutritionnelle CIQUAL 2020 (ANSES)
- Vitest pour les tests
- Objectif : profil + objectif → besoins kcal & macros (Mifflin-St Jeor → TDEE → objectif), estimation du temps
- Journée : restant du jour (kcal + macros, + bonus activité) et 5 repas avec saisie en langage naturel
- Poids : saisie + graphique d'évolution
- Activité : sport / pas → dépense estimée
- Aliment inconnu → estimé par l'IA et ajouté en base, ou corrigeable à la main
PostgreSQL (Neon en prod, ou conteneur local) :
docker run --name macronaut-pg -e POSTGRES_PASSWORD=macronaut -e POSTGRES_DB=macronaut -p 5433:5432 -d postgres:16cp .env.example .env
# Renseigner DATABASE_URL, AUTH_SECRET (openssl rand -base64 32),
# SEED_USER_EMAIL / SEED_USER_PASSWORD, ANTHROPIC_API_KEYnpm install
npx prisma migrate dev
npx prisma db seedmkdir -p prisma/data
curl -sL -o prisma/data/ciqual.xls "https://www.data.gouv.fr/api/1/datasets/r/bcdb7fec-875c-42aa-ba6e-460adf97aad3"
npm run import:ciqualnpm run devConnexion avec les identifiants définis dans .env (SEED_USER_*).
| Commande | Description |
|---|---|
npm run dev |
Serveur de développement |
npm run build |
Build de production |
npm test |
Tests unitaires (Vitest) |
npm run import:ciqual |
Import de la table CIQUAL |
La table CIQUAL provient de l'ANSES
(data.gouv.fr).
Le fichier source prisma/data/ciqual.xls n'est pas versionné (re-téléchargeable, cf. ci-dessus).