# Solución: Assets por Proyecto (Carpetas Separadas)

## 🎯 Problema

Los assets físicos están en `public/cd-project/assets/` y se comparten entre proyectos. Cuando cambias de DB:
- ✅ Las rutas en la DB cambian
- ❌ Los archivos físicos siguen siendo los del último proyecto

## ✅ Solución: Carpetas por Proyecto

### Estructura Propuesta

```
public/cd-project/assets/
├── muma/
│   ├── logo.png
│   ├── logo-alternative.png
│   ├── og-image.png
│   └── ...
├── cokecolombres/
│   ├── logo.png
│   ├── logo-alternative.png
│   ├── og-image.png
│   └── ...
└── proyecto3/
    └── ...
```

### Rutas en DB

Las rutas en `site-data.json` incluirían el nombre del proyecto:

```json
{
  "name": "Muma",
  "assets": {
    "main_logo": "cd-project/assets/muma/logo.png",
    "footer_logo": "cd-project/assets/muma/logo-alternative.png",
    "favicon": "cd-project/assets/muma/favicon.ico",
    "og_image": "cd-project/assets/muma/og-image.png"
  }
}
```

## 🔄 Implementación

### Paso 1: Actualizar site-data.json

Las rutas deben incluir el nombre del proyecto (o un identificador único):

```json
{
  "name": "Muma",
  "assets": {
    "main_logo": "cd-project/assets/muma/logo.png",
    ...
  }
}
```

### Paso 2: Estructura de Carpetas

Crear carpetas por proyecto:
- `public/cd-project/assets/muma/`
- `public/cd-project/assets/cokecolombres/`

### Paso 3: Al Cambiar de Proyecto

```
1. Cambiar DB en .env
   ↓
2. Las rutas en DB ya incluyen el nombre del proyecto
   ↓
3. Los archivos físicos están en su propia carpeta
   ↓
4. Todo funciona automáticamente
   ✅ Sin necesidad de reemplazar archivos
```

## 📋 Ventajas

### ✅ Aislamiento Completo
- Cada proyecto con sus propios assets
- No hay conflictos entre proyectos
- No necesitas reemplazar archivos manualmente

### ✅ Automático
- Al cambiar DB, las rutas ya apuntan a la carpeta correcta
- Los archivos físicos están en su lugar
- Todo funciona sin intervención manual

### ✅ Escalable
- Miles de proyectos sin problemas
- Fácil agregar nuevo proyecto
- Fácil hacer backup de assets por proyecto

## 🔧 Cambios Necesarios

### 1. Actualizar site-data.json

Para cada proyecto, las rutas deben incluir el nombre/identificador:

```json
{
  "name": "Muma",
  "assets": {
    "main_logo": "cd-project/assets/muma/logo.png"
  }
}
```

### 2. Crear Carpetas

```bash
mkdir -p public/cd-project/assets/muma
mkdir -p public/cd-project/assets/cokecolombres
```

### 3. Mover Assets

Mover assets de cada proyecto a su carpeta correspondiente.

## 🎯 Recomendación

**Implementar carpetas por proyecto** para:
- ✅ Aislamiento completo
- ✅ Automático al cambiar DB
- ✅ Sin intervención manual
- ✅ Escalable para miles de proyectos

## 📝 Nota

**Los archivos físicos siempre necesitan estar en el filesystem** (no se pueden guardar en la DB de manera eficiente). Pero las **rutas** están en la DB, así que al cambiar de proyecto, las rutas cambian automáticamente y apuntan a la carpeta correcta.
