System

apps/system/modules

Módulos de system

Los módulos agrupan código específico de la app por dominio. Antes de crear un módulo nuevo, comprobar si la necesidad pertenece a un package compartido.

MóduloResponsabilidad
authSesión, login, registro, verificación, invitaciones y onboarding
usersListado, invitación, eliminación y transferencia de usuarios
estatesListado, creación, edición, detalle y transferencia de estates
worksObras, estados, personal y documentación
infractionsListado, detalle, evidencia y resolución de infracciones
accessRegistro, filtros e historial de accesos
configurationConfiguraciones, documentación y notificaciones
informationContactos, normas del barrio, preguntas frecuentes y flujo de obras
sharedHooks, tipos, utilidades y componentes transversales de system

El manejo de errores y el flujo de datos del módulo Information se documentan en information/README.md.

Estructura recomendada

text
modules/<domain>/
├── components/
├── hooks/
├── types/
├── constants/
├── utils/
├── mock/
└── README.md

No todas las carpetas son obligatorias. Crear solo las necesarias. Los mocks no son una fuente de datos de producción.

Convenciones

  • Componentes específicos del módulo viven en components/.
  • Lógica interactiva y side effects viven en hooks/.
  • Props y estados visuales pueden definirse en types/.
  • Entidades persistidas y payloads deben usar @repo/schemas.
  • Constantes exclusivas del módulo viven en constants/; las globales van a @repo/constants.
  • Tests se ubican junto al archivo probado.