Saltar al contenido
CRM Postventa documentación

Arquitectura / Decisiones

ADR-01 Rust a medida en lugar de SuiteCRM

ADR-01 · Rust a medida en lugar de SuiteCRM

Estado: aceptada · Impacto: alto

Contexto

El documento de requisitos proponía SuiteCRM como plataforma base, con microservicios en Python o PHP para los cálculos, y MySQL como base de datos.

Decisión

Construir el sistema a medida en Rust, conservando el modelo de módulos que proponía el documento.

Por qué

  1. Los indicadores son el producto. Este proyecto no se juzga por tener fichas de cliente: se juzga por medir bien ocho indicadores contra una línea base. Tener ese cálculo en un binario tipado y con tests es más defendible que repartirlo entre módulos de SuiteCRM y scripts sueltos que nadie verifica.
  2. El requisito de rendimiento se cumple con holgura y poca memoria. Carga por debajo de 3 segundos, concurrencia y 24/7 en un servidor modesto.
  3. Operarlo es radicalmente más simple. Un binario y una base, frente a LAMP más microservicios. Para el equipo que se queda con el sistema, eso es la diferencia entre mantenerlo y abandonarlo.

Qué se conserva de la propuesta original

  • El modelo de módulos: clientes, tickets, reclamos, garantías, repuestos, KPI.
  • La integración con WhatsApp Business.
  • La capacidad de importar y exportar para interoperar con SuiteCRM o un ERP.

Coste de la decisión

  • No hay comunidad ni plugins. Todo lo que haga falta hay que escribirlo.
  • Rust tiene curva. Quien mantenga esto necesita saber Rust, y no es el perfil más común en el mercado local.
  • Si el jurado exige literalmente SuiteCRM, esta decisión hay que defenderla con los argumentos de arriba, no esquivarla.

Relacionado: Requisitos no funcionales · Backend

Enlazan aquí