# Guía Completa: Configuración de Proyecto

## 🎯 Objetivo

Configurar completamente un proyecto nuevo (ej: cokecolombres) de forma estructurada y validada.

## 📋 Metodología Recomendada

### Opción 1: Google Sheets (Recomendada para equipos)

**Ventajas:**
- ✅ Fácil de completar (no requiere conocimientos técnicos)
- ✅ Colaborativo (múltiples personas pueden completar)
- ✅ Validación visual
- ✅ Historial de cambios
- ✅ Exportable a CSV

**Pasos:**
1. Crear Google Sheets con las hojas del template
2. Completar todos los campos
3. Exportar a CSV o usar API
4. Ejecutar comando de generación

### Opción 2: CSV Directo (Recomendada para configuración rápida)

**Ventajas:**
- ✅ Simple y directo
- ✅ Fácil de versionar en Git
- ✅ No requiere Google Sheets

**Pasos:**
1. Completar `config-template.csv`
2. Ejecutar comando de generación
3. Validar y ejecutar seeders

## 🔧 Proceso Completo

### Paso 1: Preparar Datos

Completar el template CSV o Google Sheets con todos los datos del proyecto.

**Campos Críticos (Requeridos):**
- ✅ `nombre_proyecto`
- ✅ `tagline`
- ✅ `url`
- ✅ `demo`
- ✅ Al menos un módulo activo

### Paso 2: Generar JSONs

```bash
# Desde CSV
php artisan project:generate-config --source=csv --project=cokecolombres --csv-path=docs/saas/templates/config-template.csv

# Validar sin generar
php artisan project:generate-config --source=csv --project=cokecolombres --csv-path=config.csv --validate-only
```

### Paso 3: Preparar Assets

Colocar assets físicos en:
```
public/cd-project/assets/
├── logo.png
├── logo-alternative.png
├── favicon.ico
├── og-image.png
└── ...
```

### Paso 4: Ejecutar Seeders

```bash
# Cambiar DB en .env
DB_DATABASE=bp-cokecolombres

# Ejecutar migraciones (si es primera vez)
php artisan migrate

# Ejecutar seeders
php artisan db:seed --class=Project_Seeder

# O individualmente:
php artisan db:seed --class=CdSystemSeeder
php artisan db:seed --class=AssetsSeeder
php artisan db:seed --class=SiteDataSeeder
php artisan db:seed --class=AnalyticsSeeder

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

### Paso 5: Verificar

```bash
php artisan tinker --execute="
echo 'Name: ' . config('site.name') . PHP_EOL;
echo 'Logo: ' . config('site.assets.main_logo') . PHP_EOL;
echo 'Demo: ' . config('cd-system.theme.demo') . PHP_EOL;
"
```

## ✅ Checklist Completo

### Configuración Básica
- [ ] Nombre del proyecto
- [ ] Tagline
- [ ] URL
- [ ] Autor
- [ ] Descripción
- [ ] Demo seleccionado
- [ ] Skin

### Módulos
- [ ] Módulos activos definidos
- [ ] Navegación (header/footer) configurada
- [ ] Orden de módulos definido

### Contacto
- [ ] Teléfono
- [ ] Email
- [ ] Dirección
- [ ] Horarios

### Redes Sociales
- [ ] URLs completadas (si aplica)
- [ ] Estados activos correctos

### SEO
- [ ] Keywords
- [ ] Title template
- [ ] Description
- [ ] Schema configurado

### Analytics
- [ ] Google Analytics ID (si aplica)
- [ ] Google Tag Manager ID (si aplica)
- [ ] Facebook Pixel ID (si aplica)

### Assets
- [ ] Logo principal
- [ ] Logo alternativo
- [ ] Favicon
- [ ] OG Image
- [ ] Twitter Image
- [ ] Otros assets necesarios

## 🧪 Prueba de Cambio de DB

Después de configurar cokecolombres:

1. **Cambiar a Muma:**
   ```bash
   # En .env
   DB_DATABASE=bewpro-muma
   
   php artisan config:clear
   php artisan cache:clear
   ```

2. **Verificar:**
   - Name cambia a "Muma"
   - Logo cambia a URLs de Muma
   - Módulos cambian según Muma

3. **Volver a cokecolombres:**
   ```bash
   # En .env
   DB_DATABASE=bp-cokecolombres
   
   php artisan config:clear
   php artisan cache:clear
   ```

4. **Verificar:**
   - Name cambia a "Cokecolombres"
   - Logo cambia a URLs de cokecolombres
   - Módulos cambian según cokecolombres

## 📝 Notas Importantes

1. **Assets Físicos**: Deben estar en `public/cd-project/assets/` antes de ejecutar `AssetsSeeder`
2. **Cache**: Siempre limpiar cache después de cambiar DB
3. **Validación**: Usar `--validate-only` antes de generar para verificar errores
4. **Backup**: Hacer backup de JSONs antes de regenerar

## 🚀 Próximos Pasos

1. Completar template CSV con datos de cokecolombres
2. Generar JSONs
3. Ejecutar seeders
4. Verificar funcionamiento
5. Probar cambio de DB
