# SPEC.md — F-037 Seed Data ## 1. Problem La base de datos está vacía — todas las tablas tienen 0 filas. El frontend no muestra productos, categorías ni marcas. ## 2. Goal Un script de seed `project/scripts/seed.js` que populate la DB con datos realistas de prueba para poder desarrollar y ver el frontend funcionando. ## 3. Non-Goals - No es un script de producción - No limpia datos existentes (append, no truncate) - No genera datos fake masivos (faker) ## 4. Datos a seedear ### Categorías | name | slug | parent | |---|---|---| | Alimentación | alimentacion | null | | Suplementos | suplementos | null | | Cosmética Natural | cosmetica-natural | null | | Limpieza Ecológica | limpieza-ecologica | null | | Frutos Secos | frutos-secos | alimentacion | | Aceites | aceites | alimentacion | | Hierbas e Infusiones | hierbas-infusiones | alimentacion | | Vitaminas | vitaminas | suplementos | | Proteínas | proteínas | suplementos | | Cremas | cremas | cosmetica-natural | | Jabones | jabones | cosmetica-natural | ### Marcas | name | slug | |---|---| | EcoVida | ecovida | | NaturGreen | naturgreen | | BioSana | biosana | | VerdePura | verdapura | | TierraNatural | tierranatural | | SolNatural | solnatural | ### Productos (variantes con precios) 12 productos (2 por categoría), 1 variante cada uno con precio. ### Shipping zones + methods 1 zona España, 1 método estándar (5€). ## 5. Aceptación - [ ] `node scripts/seed.js` inserta filas en todas las tablas - [ ] Categorías aparecen en `/categories/tree` - [ ] Productos aparecen en `/products/search` - [ ] Marcas aparecen en `/brands` - [ ] Shipping disponible para checkout - [ ] No duplica datos si se corre dos veces ( upsert / ON CONFLICT)