29 lines
1.0 KiB
Markdown
29 lines
1.0 KiB
Markdown
# 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
|
|
```bash
|
|
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.
|