Cada tanto me meto en algún problema proyecto experimento en el cual intento poner a prueba alguna hipótesis.
Hoy día, una de ellas es la de crear un sitio web institucional y sumarle un principio de ecommerce (quizás catálogo con un Call To Action hacia WhatsApp). Para dar algo más de contexto, sería un proyecto en cual el Product Owner no tiene tradición ni experiencias positivas con la web.
¿Cuál es la opción casi por defecto para casos como este?. Sin dudas, WordPress. Los motivos son varios (miren sino las abrumadoras estadísticas aquí y aquí), pero mi cálculo fue más o menos este:
- Con poco esfuerzo tengo un gestor de contenido y un frontend funcional.
- Puedo comprar un theme y con mínima adaptación e inversión, habría algo visible y agradable.
- Le puedo agregar WooCommerce y resuelvo el catálogo y futura posibilidad de implementar transacciones.
- Si el día de mañana no sigo participando del proyecto, el Product Owner contará con muchísimas opciones para seleccionar un nuevo proveedor.
Con esos razonamientos en la mano, inicié el proyecto. Primero creé mis containers usando Docker y Traefik. Luego preparé mi repositorio en blanco y descargué WordPress.
Finalmente adquirí un diseño y traté de ponerlo a funcionar, no sólo con el sample data provisto sino también con los plugins sugeridos.
Sin dudas aprendí que estaba sobreestimando algunos aspectos y la experiencia en servidor de desarrollo fue pavorosa. A partir de eso comenzó el período de arrepentimiento y frustración.
A eso le siguió una etapa de investigación, la cual ha cambiado algunos de los supuestos, como también la lista de riesgos permitidos.
Tanto en el blog como en el podcast he (y hemos) hablado sobre cómo hacer para aplicar algunas de las ideas, tecnologías y procesos que quizás vemos (y aprendemos y desarrollamos) en proyectos de gran envergadura, pero en un pequeño cliente que está incluso iniciando su camino hacia la digitalización.
Ahora si, el enfoque ha cambiado, y tomando un poco de aquí (WordPress, frustración, performance, flexibilidad, seguridad) y un poco de allá (Magento, Shopware, MACH Alliance, Gatsby, GravCMS), las nuevas premisas que me he propuesto satisfacer son:
- Gestor de contenido flexible (por flexibilidad espero poder generar el tipo de datos que pueda llegar a necesitar sin que sea un gran trastorno).
- Mayor flexibilidad en el diseño estético y funcional, desacoplando el contenido de lo que decida usar en el frontend.
- Explorar nuevas opciones para integrar catálogo o contenido que pueda requerir algún tipo de acceso especial (pago, suscripción, freemium, etc)
- Que el contenido se mantenga igual de accesible si en un futuro quiero cambiar el sitio o implementar nuevos lugares desde los cuales consumir ese contenido.
- Poder manejar roles para la gestión del contenido.
Básicamente, estoy pensando en armar algo custom en el frontend pero alimentado por un CMS headless para el contenido (pensando en la parte institucional) y por otra solución que me provea los cimientos para ecommerce.
La única preocupación real (de cara al Product Owner) que veo en este momento se relaciona con entender si la propuesta es “demasiada cosa” para lo que se busca. Quizás si el proyecto es muy pequeño la solución debe ser monolítica, pero busco validar que con pequeñas soluciones puedo acomodar las caras del cubo y lograr que todo funcione como en grandes proyectos, sin que sea un dolor de cabeza.
A medida que me vaya golpeando la frente contra el escritorio topando con obstáculos, intentaré registrar por aquí las experiencias.
Créditos: la foto de la portada es de Volodymyr Hryshchenko.