> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mov-eat.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Modelo de datos

> Explicación de alto nivel del modelo de base de datos de Moveat.

# Modelo de datos

Moveat usa PostgreSQL como fuente de verdad del producto.

El esquema está normalizado por defecto. Los summaries derivados se usan cuando mejoran performance o preservan snapshots históricos.

## Áreas principales

| Área          | Tablas                                                                        |
| ------------- | ----------------------------------------------------------------------------- |
| Identidad     | users, auth accounts, user channels.                                          |
| Setup fitness | user profiles, user goals, nutrition settings.                                |
| Nutrición     | meal entries, meal entry items, daily summaries.                              |
| Entrenamiento | exercises, exercise media, workout sessions, workout exercises, workout sets. |
| Progreso      | weight logs.                                                                  |
| Coaching      | coaching profile/context.                                                     |

## Por qué separar profile, goals y nutrition settings

Representan conceptos distintos:

* Profile describe baseline físico.
* Goals describe objetivo y supuestos de actividad.
* Nutrition settings describe targets de calorías/macros.

## Daily summaries

Son rollups derivados para dashboards e historial estable. Deben poder reconstruirse desde meal entries.

## Idempotencia

Writes originados por Agent deben usar idempotency keys para evitar duplicados ante retries de webhooks.

## Unit system

La DB guarda valores métricos canónicos. Las APIs responden valores de display según la preferencia del usuario.
