Saltearse al contenido

Monorepo y arquitectura

BeanCRM es un monorepo con backend .NET y tres frontends Node.js.

  • bean-crm-api: backend .NET con Clean Architecture.
  • bean-crm-panel: dashboard del cliente en Next.js.
  • bean-crm-sysadmin: administracion interna en Next.js.
  • bean-crm-landing: sitio publico en Astro.
  • bean-crm-docs: documentacion interna en Astro/Starlight.

El backend separa responsabilidades en:

  • BeanCrm.Api: controllers, middleware, DI, Swagger, observabilidad.
  • BeanCrm.Application: DTOs, contratos y coordinacion de casos de uso.
  • BeanCrm.Domain: entidades, enums y reglas de dominio.
  • BeanCrm.Infrastructure: EF Core, PostgreSQL, auth, email, integraciones y migraciones.
  • BeanCrm.Billing: integracion de billing.

Las dependencias deben respetar la direccion del diseno actual. Evitar que Domain conozca infraestructura o frameworks web.

Todo desarrollo que lea o escriba datos de negocio debe validar tenant y permisos. Para datos clinicos, tenant no alcanza: tambien debe validarse permiso clinico y relacion profesional-paciente cuando corresponda.