# Producto: Law Firm 2

Documentación específica del producto **law-firm-2**, incluyendo configuración requerida, módulos activos, vistas, datos y checklist completo.

---

## 📋 Tabla de Contenidos

1. [Descripción del Producto](#descripción-del-producto)
2. [Configuración Requerida](#configuración-requerida)
3. [Módulos Activos](#módulos-activos)
4. [Vistas y Layouts](#vistas-y-layouts)
5. [Datos Específicos](#datos-específicos)
6. [Checklist de Configuración](#checklist-de-configuración)
7. [Troubleshooting](#troubleshooting)

---

## 🎯 Descripción del Producto

### Información General

- **Nombre del Producto**: Law Firm 2
- **Demo**: `demo-law-firm-2`
- **Skin**: `skin-law-firm-2` (auto-detectado)
- **Categoría**: Servicios Profesionales / Legal
- **Versión**: 1.0.0

### Características

- Template profesional para bufetes de abogados
- Enfoque en servicios legales, equipo y casos
- Blog para noticias legales
- Sistema de referencias/clientes
- Página de equipo con perfiles

---

## ⚙️ Configuración Requerida

### 1. Configuración del Demo

**Archivo**: `config/cd-system.php`

```php
'theme' => [
    'demo' => 'demo-law-firm-2',
    'skin' => 'auto', // Se mapea automáticamente a 'skin-law-firm-2'
    'fonts' => [
        'primary' => 'Montserrat',
        'secondary' => 'Montserrat',
        'tertiary' => 'Open Sans',
    ],
],
```

### 2. Módulos Activos

**Archivo**: `config/cd-system.php`

```php
'modules' => [
    'blog' => [
        'active' => true,
        'name' => 'Blog',
        'description' => 'Noticias y publicaciones institucionales',
    ],
    'services' => [
        'active' => true,
        'name' => 'Areas de actuacion',
        'description' => 'Areas de actuacion',
    ],
    'team' => [
        'active' => true,
        'name' => 'Team',
        'description' => 'Equipo y miembros',
    ],
    'references' => [
        'active' => true,
        'name' => 'References',
        'description' => 'Referencias y testimonios',
    ],
    'faqs' => [
        'active' => true,
        'name' => 'FAQs',
        'description' => 'Preguntas frecuentes sobre servicios',
    ],
    'about' => [
        'active' => true,
        'name' => 'About',
        'description' => 'Página de empresa/información corporativa',
    ],
    'contact' => [
        'active' => true,
        'name' => 'Contact',
        'description' => 'Página de contacto',
    ],
    // Módulos desactivados
    'products' => ['active' => false],
    'projects' => ['active' => false],
    'gallery' => ['active' => false],
    'newsletter' => ['active' => false],
    'news' => ['active' => false],
],
```

### 3. Configuración de Identidad

**Archivo**: `config/site.php`

```php
'name' => 'Law Firm',
'url' => 'https://lawfirm.example.com',
'author' => 'Law Firm',
'contact' => [
    'email' => 'contacto@lawfirm.com',
    'phone' => '+54 11 1234-5678',
    'address' => 'Calle Principal 123',
],
```

---

## 📦 Módulos Activos

### Blog

**Propósito**: Noticias legales, artículos, actualizaciones

**Rutas**:
- `/blog` - Listado de posts
- `/blog/{slug}` - Post individual

**Datos requeridos**: `database/seeders/project-data/blog.json`

### Services

**Propósito**: Áreas de actuación legal (Family Law, Business Law, etc.)

**Rutas**:
- `/services` - Listado de servicios
- `/services/{slug}` - Servicio individual

**Datos requeridos**: `database/seeders/project-data/services.json`

### Team

**Propósito**: Miembros del equipo (abogados, partners, etc.)

**Rutas**:
- `/team` - Listado de miembros
- `/team/{slug}` - Perfil individual

**Datos requeridos**: `database/seeders/project-data/team.json`

### References

**Propósito**: Referencias y clientes (logos de empresas)

**Uso**: Se muestra en homepage como marquee de logos

**Datos requeridos**: `database/seeders/project-data/references.json`

### FAQs

**Propósito**: Preguntas frecuentes sobre servicios legales

**Rutas**:
- `/faqs` - Listado de preguntas

**Datos requeridos**: Se pueden crear desde el admin o mediante seeder

### About

**Propósito**: Página sobre el bufete

**Rutas**:
- `/about` - Página sobre nosotros

### Contact

**Propósito**: Página de contacto con formulario

**Rutas**:
- `/contact` - Página de contacto

---

## 🎨 Vistas y Layouts

### Vista Principal (Homepage)

**Ubicación**: `resources/views/modules/cd-base/frontend/demos/demo-law-firm-2/welcome.blade.php`

**Componentes**:
1. **Carousel Principal**: Imágenes de fondo con texto
2. **Servicios**: Carousel horizontal de servicios
3. **Sobre Nosotros**: Sección con texto e imagen
4. **Referencias**: Marquee de logos de clientes
5. **Equipo**: Carousel de miembros del equipo
6. **Blog**: Últimos posts del blog

### Layouts Específicos

**Header**: `resources/views/layout/front/headers/demo-law-firm-2.blade.php`

**Footer**: `resources/views/layout/front/footers/demo-law-firm-2.blade.php`

**Master Layout**: `resources/views/layout/front/master.blade.php` (compartido)

---

## 📊 Datos Específicos

### 1. Services (Áreas de Actuación)

**Archivo**: `database/seeders/project-data/services.json`

**Estructura mínima**:
```json
{
  "services": [
    {
      "title": "Family Law",
      "slug": "family-law",
      "description": "Comprehensive legal services for family matters...",
      "logo": "cd-project/img/demos/law-firm-2/icons/icon-group.svg",
      "is_active": true,
      "is_featured": true
    },
    {
      "title": "Business Law",
      "slug": "business-law",
      "description": "...",
      "is_active": true,
      "is_featured": true
    }
  ]
}
```

**Servicios recomendados**:
- Family Law
- Business Law
- Criminal Law
- Civil Law
- Labor Law
- Real Estate Law
- Corporate Law
- Immigration Law

### 2. Blog

**Archivo**: `database/seeders/project-data/blog.json`

**Estructura mínima**:
```json
{
  "post_categories": [
    {
      "name": "Legal News",
      "slug": "legal-news",
      "description": "Latest legal news and updates"
    }
  ],
  "posts": [
    {
      "title": "Article Title",
      "slug": "article-title",
      "description": "...",
      "content": "<p>...</p>",
      "status": "published",
      "category_id": 1
    }
  ]
}
```

### 3. Team

**Archivo**: `database/seeders/project-data/team.json`

**Estructura mínima**:
```json
{
  "team_categories": [
    {
      "name": "Partners",
      "slug": "partners",
      "description": "Senior partners and founding members"
    }
  ],
  "team_members": [
    {
      "name": "John Doe",
      "position": "Senior Partner & Founder",
      "email": "john.doe@lawfirm.com",
      "description": "...",
      "image": "cd-project/img/demos/law-firm-2/team/team-1.jpg",
      "category_id": 1,
      "is_active": true
    }
  ]
}
```

### 4. References

**Archivo**: `database/seeders/project-data/references.json`

**Estructura mínima**:
```json
{
  "categories": [
    {
      "name": "Corporate Clients",
      "slug": "corporate-clients"
    }
  ],
  "references": [
    {
      "name": "Company Name",
      "category": "Corporate Clients",
      "logo": "cd-project/img/demos/law-firm-2/references/logo-1.png",
      "featured": true
    }
  ]
}
```

---

## ✅ Checklist de Configuración

### Pre-Configuración

- [ ] Laravel instalado y funcionando
- [ ] Base de datos configurada
- [ ] Migraciones ejecutadas: `php artisan migrate`
- [ ] Usuarios creados: `php artisan db:seed --class=UsersSeeder`

### Configuración del Sistema

- [ ] `config/cd-system.php` configurado con `demo-law-firm-2`
- [ ] Módulos activos: blog, services, team, references, faqs, about, contact
- [ ] Módulos desactivados: products, projects, gallery, newsletter, news
- [ ] `config/site.php` actualizado con identidad del law firm

### Assets

- [ ] Logos actualizados: `php artisan project:update-assets public/cd-project/assets --backup`
- [ ] Favicons actualizados
- [ ] Imágenes del demo en `public/cd-project/img/demos/law-firm-2/`
- [ ] Iconos de servicios en ubicación correcta

### Archivos JSON

- [ ] `services.json` creado y validado
- [ ] `blog.json` creado y validado
- [ ] `team.json` creado y validado
- [ ] `references.json` creado y validado
- [ ] Rutas de imágenes/logos verificadas

### Carga de Datos

- [ ] Services cargados: `php artisan services:refresh --clean`
- [ ] Blog cargado: `php artisan blog:refresh --clean`
- [ ] Team cargado: `php artisan team:refresh --clean`
- [ ] References cargadas: `php artisan references:refresh --clean`

### Verificación Final

- [ ] Homepage muestra carousel correctamente
- [ ] Servicios se muestran en carousel horizontal
- [ ] Equipo se muestra en carousel
- [ ] Referencias aparecen en marquee
- [ ] Blog muestra posts recientes
- [ ] Rutas funcionan correctamente
- [ ] Imágenes se cargan correctamente
- [ ] Meta tags configurados

---

## 🐛 Troubleshooting

### Problema: Carousel de servicios no se muestra

**Solución**:
1. Verificar que `services.json` existe y tiene datos
2. Verificar que módulo `services` está activo
3. Ejecutar: `php artisan services:refresh --clean`
4. Limpiar cache: `php artisan cache:clear`

### Problema: Imágenes no se cargan

**Solución**:
1. Verificar rutas en JSON (deben ser relativas a `public/`)
2. Verificar que archivos existen en `public/cd-project/img/`
3. Verificar permisos de archivos
4. Verificar configuración de `APP_URL` en `.env`

### Problema: Equipo no aparece

**Solución**:
1. Verificar que `team.json` existe y tiene datos
2. Verificar que módulo `team` está activo
3. Verificar que `category_id` en miembros corresponde a categorías (1-indexed)
4. Ejecutar: `php artisan team:refresh --clean`

### Problema: Referencias no aparecen en homepage

**Solución**:
1. Verificar que `references.json` existe y tiene datos
2. Verificar que referencias tienen `"featured": true`
3. Verificar que módulo `references` está activo
4. Ejecutar: `php artisan references:refresh --clean`

---

## 📚 Referencias

- [Sistema Base](./01-sistema-base.md)
- [Adaptación a Proyectos](./02-adaptacion-proyecto.md)
- [Configuraciones](./04-configuraciones.md)
- [Guía Setup Law Firm](../law-firm-setup-guide.md)

---

**Última actualización**: 2025-01-XX  
**Versión del producto**: Law Firm 2 v1.0.0  
**Demo**: demo-law-firm-2

