En los próximos meses vamos a comenzar un proyecto donde tomaremos un sistema que hemos construido para un cliente (v1) y lo reconstruiremos desde cero. Nuestro objetivo con v2 es hacerlo modular, para que este cliente específico tenga su propio conjunto de módulos que use, luego otro cliente puede usar un conjunto diferente de módulos por completo. El truco aquí es que la Compañía A podría tener una serie de módulos de pago y usuario que cambian la forma en que funciona ese sistema. La empresa B podría seguir el procedimiento de pago estándar, pero personalizar cómo se navegan los productos.
¿Cuáles son algunos buenos enfoques para la arquitectura de la aplicación cuando se está creando una aplicación desde cero que desea tener Core
compartida entre todos los clientes y al mismo tiempo mantener la flexibilidad para que cualquier cosa sea modificada específicamente para un cliente?
He visto ganchos de CodeIgniter y no creo que sea una buena solución, ya que podría terminar con 250 ganchos y todavía no es lo suficientemente flexible. ¿Cuáles son algunas otras soluciones? Lo ideal es que no necesitaremos para dibujar una raya en la arena.