Skip to content

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/

  1. 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.)
  2. 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
  3. 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
  4. 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í

  1. 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
  2. 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ónUbicaciónPropó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

FeatureArchivoDescripciónMódulos afectados
Mejoras de usabilidad AutoCompleteautocomplete-usability-improvements.mdSelección con Tab y auto-selección de resultado únicoTodos los módulos

Planificadas

FeatureArchivoDescripciónMódulos afectados
Perfiles de Configuración de Cachécache-config-query-resource.mdSistema centralizado de perfiles de caché para consultas (REALTIME, HOT, WARM, COLD)Todos los módulos
Servicio de Caché Multi-Tenantcache-multi-tenant-resource.mdInfraestructura centralizada de caché con soporte multi-tenantTodos los módulos

Cuándo crear documentación aquí

Crea un documento en /features/shared/ cuando:

  1. 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/
  2. Es un componente o sistema reutilizable

    • AutoComplete, DataTable, Modal, etc.
    • Sistemas de exportación, notificaciones, etc.
  3. Es infraestructura del sistema

    • Autenticación, permisos, logs, caché
    • Configuración global, temas, i18n
  4. 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}.md

Ejemplos:

  • 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

FechaVersiónAutorDescripción
2025-12-191.0SistemaCreación del índice para features compartidas