Carlos Narro 21f5682aac telemetría: instalaciones únicas con id anónimo de instalación
Nueva tabla telemetry_active(install_id, day) (create_all la crea). add_telemetry
hace upsert (install_id, day) si viene install_id. El summary añade installsTotal
(únicas de siempre), installsActive (en el periodo) y dauToday. Tests: dos ids
únicos + uno duplicado → 2 únicas.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 14:42:02 +02:00

autoayuno-api

Catálogo compartido de alimentos (alimentado de Open Food Facts bajo demanda) y recetas publicables para la app [autoayuno]. Sin cuentas: publicar es anónimo con un deviceToken. Lo personal del usuario vive en su dispositivo; aquí solo lo compartido.

Stack

FastAPI + SQLAlchemy + Postgres (SQLite como fallback en dev). Docker → Dokploy. Dominio: api-autoayuno.carlosnarro.com.

Endpoints

  • GET /health
  • GET /foods?q= — busca en la BD; si hay pocos, importa de Open Food Facts y guarda.
  • POST /foods — alta anónima de un alimento (source=user).
  • GET /recipes?q=, GET /recipes/{id}, POST /recipes — recetas públicas.

Las respuestas usan la forma que espera la app (kcalPer100g, zone, portions, origin).

Desarrollo

pip install -r requirements.txt
uvicorn main:app --reload          # SQLite local por defecto
pytest                             # tests con SQLite en memoria

Producción (Dokploy)

Variable DATABASE_URL con el Postgres. Build por Dockerfile, puerto 8000.

Description
Backend de autoayuno: cat�logo de alimentos (Open Food Facts) y recetas
Readme 78 KiB
Languages
Python 99.3%
Dockerfile 0.7%