# Checklist: Verificación Completa del Sistema

## 🎯 Objetivo

Verificar que al cambiar `DB_DATABASE`, TODO cambie automáticamente sin ejecutar seeders.

## ✅ Checklist de Verificación

### 1. Configuración del Sistema (cd-system)

Al cambiar DB, debe cambiar:

- [ ] **Demo/Template**
  - Muma: `demo-restaurant`
  - Cokecolombres: `demo-accounting-1`
  - Verificar: `config('cd-system.theme.demo')`

- [ ] **Skin**
  - Muma: `auto`
  - Cokecolombres: `skin-accounting-1`
  - Verificar: `config('cd-system.theme.skin')`

- [ ] **Módulos Activos**
  - Muma: services `active: true`
  - Cokecolombres: services `active: false`
  - Verificar: `config('cd-system.modules.services.active')`

- [ ] **Navegación de Módulos**
  - Header/Footer según configuración
  - Verificar: `config('cd-system.modules.blog.navigation.header')`

### 2. Datos del Sitio (site)

Al cambiar DB, debe cambiar:

- [ ] **Datos Básicos**
  - Name: `Muma` ↔ `cokecolombres`
  - Tagline: `Food that fits anywhere` ↔ `Una fucking bestia`
  - URL: `www.getmuma.com` ↔ `www.cokecolombres.com`
  - Author: `Muma` ↔ `Compania Digital`
  - Verificar: `config('site.name')`, `config('site.tagline')`

- [ ] **Contacto**
  - Email: Diferente por proyecto
  - Phone: Diferente por proyecto
  - Address: Diferente por proyecto
  - Verificar: `config('site.contact.email')`

- [ ] **Redes Sociales**
  - URLs diferentes por proyecto
  - Estados activos diferentes
  - Verificar: `config('site.social_media.facebook.url')`

- [ ] **SEO**
  - Keywords diferentes
  - Description diferente
  - Schema diferente
  - Verificar: `config('site.seo.keywords')`

- [ ] **OG / Twitter**
  - Títulos diferentes
  - Descripciones diferentes
  - Imágenes diferentes (URLs de Cloudinary)
  - Verificar: `config('site.og.image')`, `config('site.twitter.image')`

### 3. Assets (Cloudinary)

Al cambiar DB, debe cambiar:

- [ ] **Logos**
  - Main logo: URL de Cloudinary del proyecto
  - Footer logo: URL de Cloudinary del proyecto
  - Verificar: `config('site.assets.main_logo')` debe ser URL de Cloudinary

- [ ] **Favicons**
  - Favicon: URL de Cloudinary del proyecto
  - Apple touch icon: URL de Cloudinary del proyecto
  - Verificar: `config('site.assets.favicon')` debe ser URL de Cloudinary

- [ ] **OG/Twitter Images**
  - OG image: URL de Cloudinary del proyecto
  - Twitter image: URL de Cloudinary del proyecto
  - Verificar: URLs deben ser de Cloudinary, no rutas locales

### 4. Analytics

Al cambiar DB, debe cambiar:

- [ ] **Google Analytics**
  - ID diferente por proyecto
  - Verificar: `config('site.analytics.google_analytics.tracking_id')`

## 🧪 Prueba de Cambio

### Paso 1: Verificar DB Actual

```bash
# Verificar DB
grep "DB_DATABASE" .env

# Verificar configuración
php artisan tinker --execute="
echo 'DB: ' . env('DB_DATABASE') . PHP_EOL;
echo 'demo: ' . config('cd-system.theme.demo') . PHP_EOL;
echo 'name: ' . config('site.name') . PHP_EOL;
echo 'logo: ' . config('site.assets.main_logo') . PHP_EOL;
"
```

### Paso 2: Cambiar DB

```bash
# Cambiar en .env
DB_DATABASE=bewpro-otro-proyecto

# Limpiar cache
php artisan config:clear
php artisan cache:clear
```

### Paso 3: Verificar Cambio

```bash
php artisan tinker --execute="
echo 'DB: ' . env('DB_DATABASE') . PHP_EOL;
echo 'demo: ' . config('cd-system.theme.demo') . PHP_EOL;
echo 'name: ' . config('site.name') . PHP_EOL;
echo 'logo: ' . config('site.assets.main_logo') . PHP_EOL;
"
```

### Resultado Esperado

- ✅ Demo cambia al del nuevo proyecto
- ✅ Name cambia al del nuevo proyecto
- ✅ Logo cambia a URL de Cloudinary del nuevo proyecto
- ✅ Todo cambia automáticamente desde DB

## 📋 Comandos de Verificación Rápida

```bash
# Verificar todo
php artisan tinker --execute="
echo '=== CONFIGURACIÓN COMPLETA ===' . PHP_EOL;
echo 'DB: ' . env('DB_DATABASE') . PHP_EOL;
echo '' . PHP_EOL;
echo 'CD-System:' . PHP_EOL;
echo '  - Demo: ' . config('cd-system.theme.demo') . PHP_EOL;
echo '  - Skin: ' . config('cd-system.theme.skin') . PHP_EOL;
echo '  - Services active: ' . (config('cd-system.modules.services.active') ? 'true' : 'false') . PHP_EOL;
echo '' . PHP_EOL;
echo 'Site:' . PHP_EOL;
echo '  - Name: ' . config('site.name') . PHP_EOL;
echo '  - Tagline: ' . config('site.tagline') . PHP_EOL;
echo '  - Email: ' . config('site.contact.email') . PHP_EOL;
echo '  - Main logo: ' . (strlen(config('site.assets.main_logo')) > 60 ? substr(config('site.assets.main_logo'), 0, 60) . '...' : config('site.assets.main_logo')) . PHP_EOL;
echo '  - OG image: ' . (strlen(config('site.og.image')) > 60 ? substr(config('site.og.image'), 0, 60) . '...' : config('site.og.image')) . PHP_EOL;
"
```

## ✅ Estado Actual

- [x] CdSystemConfigService creado
- [x] CdSystemConfigServiceProvider creado y registrado
- [x] CdSystemSeeder guarda en DB
- [x] SiteConfigService carga desde DB
- [x] SiteConfigServiceProvider carga desde DB
- [x] Assets en Cloudinary con URLs en DB
- [x] Cache por DB (cada proyecto tiene su propio cache)
- [x] Sin carpetas por proyecto (todo en DB)

## 🚀 Próximos Pasos

1. Completar datos de ambos proyectos en sus DBs
2. Verificar visualmente en el navegador
3. Documentar proceso completo
