# Módulo: Faqs

> **Estado:** ✅ Production-ready (2026-04-28)
> **Doc técnica:** [`docs/backend3.0/faqs/README.md`](../../backend3.0/faqs/README.md)

---

## 1. Identidad

| Campo | Valor |
|-------|-------|
| **Nombre** | Faqs |
| **Slug** | `faqs` |
| **Cores que lo usan** | 20 |
| **Productos a la venta** | 6 de 8 (no personal-brand, restaurant-bar) |
| **Modelo principal** | `App\Modules\CdBase\Faqs\Models\Faq` |
| **Tabla principal** | `faqs` |
| **Tabla categorías** | `faqs_categories` (plural) |
| **Vista standalone** | `/faqs` (cuando navigation.header=true) |
| **CRUD admin** | `/admin/faqs` |

---

## 2. Defaults JSON

8 FAQs en 2 categorías (General, Proceso de trabajo) con mix featured/non-featured. Suficiente para cualquier producto sin override.

---

## 3. Asset pack

n/a — el módulo no usa imágenes.

---

## 4. ViewComposer

| Variable | Origen |
|----------|--------|
| `$featuredFaqs` | `HomepageController::index()` carga limit 5 |
| `$faqs` | `HomepageController::contact()` carga featured + fallback limit 8 (post-fix 2026-04-27) |

---

## 5. Vistas

### Frontend
| Archivo | Notas |
|---------|-------|
| `modules/cd-base/faqs/...` | (módulo CdBase, vive bajo CdBase) |

### Demo embebido
- demo-law-firm-2 welcome.blade L313-374 (accordion en bg-primary card)
- demo-law-firm-2 contact.blade — accordion principal en columna izquierda

---

## 6. CRUD admin

- **Ruta**: `/admin/faqs-settings`
- **Funcionalidades**: listing + create/edit + delete + categorías + toggle featured + orden

---

## 7. Comandos artisan

| Comando | Función |
|---------|---------|
| `bewpro:clean-faqs` | Limpia faqs y faqs_categories |
| `bewpro:refresh-faqs` | Re-seedea desde defaults |

---

## 8. Auditoría — 30 items

| Bloque | Estado |
|--------|--------|
| 1. Identidad y código (4) | ✅ |
| 2. Defaults JSON (6) | ✅ (8 items, 2 cats, sin placeholders) |
| 3. Asset pack (5) | n/a |
| 4. Vistas (6) | ✅ |
| 5. Integración sistema (5) | ✅ (post-fix HomepageController::contact) |
| 6. CRUD admin (4) | ✅ |
| **TOTAL** | **25/25 + n/a 5** | ✅ |

**Veredicto**: ✅ Production-ready

---

## 9. Bug arreglado 2026-04-27

`HomepageController::contact()` no pasaba `$faqs` a la vista — el accordion en /contact aparecía vacío. Fix: cargar featured FAQs limit(8) con fallback.

---

## 10. Referencias

- [`docs/backend3.0/faqs/README.md`](../../backend3.0/faqs/README.md)
- Bug fix: [`docs/bewpro2.0/products/CORE-TRANSVERSAL.md`](../products/CORE-TRANSVERSAL.md) (sección bugs transversales)
