Appearance
Features Compartidas / Shared
Tipo: Documentación de Features Transversales Alcance: Multi-módulo / Sistema completo
Propósito
Esta carpeta contiene la documentación de requerimientos de negocio para features, componentes y funcionalidades compartidas que son utilizadas por múltiples módulos del sistema o que afectan transversalmente a toda la aplicación.
¿Qué features van aquí?
✅ Features que SÍ van en /features/shared/
Componentes compartidos con mejoras funcionales
- Ejemplo: Mejoras de usabilidad al componente AutoComplete
- Razón: El AutoComplete se usa en todos los módulos (ventas, compras, tesorería, etc.)
Funcionalidades transversales del sistema
- Ejemplo: Sistema de exportación a Excel/PDF
- Ejemplo: Sistema de notificaciones globales
- Ejemplo: Gestión de permisos y roles
- Razón: No pertenecen a un módulo específico, afectan a todo el sistema
Features de infraestructura frontend/backend
- Ejemplo: Autenticación y autorización
- Ejemplo: Manejo de errores global
- Ejemplo: Sistema de caché
- Razón: Son utilizados por todos los módulos
Mejoras de experiencia de usuario generales
- Ejemplo: Sistema de atajos de teclado globales
- Ejemplo: Tema y estilos compartidos
- Razón: Aplican a toda la interfaz, no a un módulo específico
❌ Features que NO van aquí
Features específicas de un módulo
- Ejemplo: CRUD de clientes → Va en
/features/ventas/ - Ejemplo: Gestión de órdenes de pago → Va en
/features/tesoreria/ - Razón: Pertenecen a un dominio de negocio específico
- Ejemplo: CRUD de clientes → Va en
Documentación técnica de implementación
- Ejemplo: Cómo implementar un componente React
- Razón: Va en
/frontend/o/backend/según corresponda
Estructura de documentos
Los documentos en esta carpeta deben seguir el formato estándar de features:
markdown
# [Nombre de la Feature]
**Módulo**: frontend-shared | backend-shared | shared
**Tipo**: Feature | Enhancement | Process
**Estado**: Planificado | En desarrollo | Implementado
## Resumen
[Descripción breve del problema y la solución]
## Contexto del Negocio
[Por qué es necesaria esta feature]
## Requerimientos de Negocio
[RN-01, RN-02, etc.]
## Criterios de Aceptación
[CA-01, CA-02, etc.]
## Impacto en Módulos
[Qué módulos se benefician de esta feature]Relación con documentación técnica
Importante: Esta carpeta contiene requerimientos de negocio, no documentación técnica.
| Tipo de documentación | Ubicación | Propósito |
|---|---|---|
| Requerimientos de negocio | /features/shared/ | Define QUÉ se necesita y POR QUÉ |
| Documentación técnica | /frontend/ o /backend/ | Define CÓMO está implementado |
Ejemplo: AutoComplete
Requerimientos:
/features/shared/autocomplete-usability-improvements.md- Describe el problema de negocio
- Define los requerimientos funcionales
- Establece criterios de aceptación
- Mide el impacto en los usuarios
Documentación técnica:
/frontend/Components/Autocomplete/index.md- Describe la API del componente
- Muestra ejemplos de código
- Documenta el estado interno
- Explica la implementación técnica
Features compartidas actuales
Implementadas
| Feature | Archivo | Descripción | Módulos afectados |
|---|---|---|---|
| Mejoras de usabilidad AutoComplete | autocomplete-usability-improvements.md | Selección con Tab y auto-selección de resultado único | Todos los módulos |
Planificadas
| Feature | Archivo | Descripción | Módulos afectados |
|---|---|---|---|
| Perfiles de Configuración de Caché | cache-config-query-resource.md | Sistema centralizado de perfiles de caché para consultas (REALTIME, HOT, WARM, COLD) | Todos los módulos |
| Servicio de Caché Multi-Tenant | cache-multi-tenant-resource.md | Infraestructura centralizada de caché con soporte multi-tenant | Todos los módulos |
Cuándo crear documentación aquí
Crea un documento en /features/shared/ cuando:
La feature afecta a 2 o más módulos
- Si una mejora se usa en ventas, compras y tesorería → es shared
- Si es solo para ventas → va en
/features/ventas/
Es un componente o sistema reutilizable
- AutoComplete, DataTable, Modal, etc.
- Sistemas de exportación, notificaciones, etc.
Es infraestructura del sistema
- Autenticación, permisos, logs, caché
- Configuración global, temas, i18n
Mejora la experiencia general del usuario
- Atajos de teclado, navegación, accesibilidad
- Performance, carga, responsive
Convenciones de nombres
Los archivos deben seguir esta convención:
{nombre-descriptivo}.mdEjemplos:
autocomplete-usability-improvements.md✅excel-export-system.md✅global-keyboard-shortcuts.md✅authentication-improvements.md✅
Evitar:
mejora1.md❌ (poco descriptivo)AutoCompleteChanges.md❌ (usar kebab-case)varios-cambios.md❌ (debe ser específico)
Referencias
Historial de cambios
| Fecha | Versión | Autor | Descripción |
|---|---|---|---|
| 2025-12-19 | 1.0 | Sistema | Creación del índice para features compartidas |