Señorío de Líbano
Una bodega, su tienda y su CMS: tres apps en un monorepo.
La bodega ya tenía un sitio; este es su sustituto, construido como un sistema en condiciones y no como un único código. El monorepo contiene tres apps y cinco paquetes compartidos.
Dónde vive cada tipo de dato
La decisión interesante es dónde vive cada tipo de dato. El contenido editorial y
de catálogo (vinos, descripciones, reglas de envío) pertenece al equipo de la
bodega, así que se aloja en Sanity, donde pueden editarlo sin un despliegue. Los
pedidos, que necesitan integridad transaccional, viven en Neon Postgres detrás de
Drizzle. El Payment Element de Stripe se encarga del pago. Todo lo visual fluye
desde un único paquete @repo/ui, publicado como .tsx en crudo y compilado por
cada app, así que el sitio de presentación y la tienda no pueden separarse.
Una forma a la que vuelvo
Es la forma a la que vuelvo una y otra vez: separar el plano de contenido del plano transaccional, compartir la capa de presentación y dejar que cada app siga siendo pequeña.
