Saltar al contenido
Caso · 17 / 19← Todos los trabajos

Noelia Viscelli

El sitio de una coach que vende e-books y un programa de cuatro meses. Ella edita sus propias páginas, y sus alumnas cursan en una plataforma propia.

Rol
Desarrollo completo
Stack
Next.js 16, React 19, TypeScript, Prisma, Postgres, Cloudinary
Editor de páginas
Editor de páginasCada sección es una fila con su borrador al lado
(01) El problema

Noelia vende e-books, llamadas agendadas y un programa, el Método SER, con tres planes. Cambia precios, ofertas y textos seguido, y cada cambio pasaba por un desarrollador. Además, sus alumnas necesitaban un lugar para ver las clases, entregar trabajos y agendar sus sesiones uno a uno.

Mi rolConvertí las dos landings en datos que ella edita y publica sola, y construí la plataforma del curso al lado.
(02) ResultadosContados en el código
26tipos de sección que puede editar, reordenar y publicar, cada uno validado por un schema
36rutas de API detrás de la plataforma de alumnas y su panel
7tipos de pregunta en el constructor de formularios de las clases
(03) Arquitectura

Tres decisiones que lo definieron.

  1. 01

    Cada sección es una fila con su borrador al lado

    Por qué. Cada instancia de sección es una fila JSON en Postgres con su contenido publicado y su borrador. Un schema de zod del catálogo valida cada guardado. La página mezcla lo guardado sobre los defaults del código, así un campo nuevo muestra su default sin migrar filas. Publicar primero copia el contenido anterior a una revisión, y revertir hace lo mismo, así que también se puede deshacer.

    El costo. Postgres ve el contenido como texto, así que no se puede consultar nada adentro. Publicar actualiza las filas de a una, fuera de una transacción, y el orden de las secciones no tiene historial propio.

  2. 02

    La vista previa es la página real

    Por qué. El editor muestra la página pública en un iframe con ?preview=1. Una cookie firmada que dura 30 minutos pasa esa página a los borradores. No hay un segundo renderer para mantener igual, y el cambio entre escritorio y teléfono muestra exactamente lo que van a ver las visitas.

    El costo. Leer la cookie hace que las dos páginas se rendericen en cada pedido. El sitio en vivo responde con cache-control: no-store, y cada visita consulta Postgres.

  3. 03

    Hotmart vende, Calendly agenda, la plataforma enseña

    Por qué. Los e-books llevan a checkouts de Hotmart, y las llamadas se agendan en un Calendly embebido. Hotmart ya resuelve el pago, los comprobantes y la entrega, así que puse el tiempo en la plataforma: clases, progreso, comentarios, calificaciones, entregas y formularios.

    El costo. Las ventas no llegan al panel. Después de un pago, la cuenta de la alumna y la inscripción se crean a mano, y los límites de cada plan están en el código.

(04) GaleríaSeguí scrolleando →
Editor de páginas
Editor de páginas · Las secciones a la izquierda, el formulario de la elegida en el medio y la página real con el borrador a la derecha.
Inicio de la alumna
Inicio de la alumna · El progreso, las sesiones uno a uno que le quedan en su plan y la próxima clase. Con datos de prueba.
Clase en el teléfono
Clase en el teléfono · Video, marcar como completada y el material de la clase. Abajo están los comentarios, la calificación, la entrega y los formularios.
Planes del Método SER
Planes del Método SER · Los tres planes en la página de venta en vivo. Los precios y textos se editan desde el panel, no en el código.
(05) Qué haría después
01Escuchar el webhook de compra de Hotmart para crear la alumna y la inscripción, y mandar el mail de bienvenida que ya está escrito.
02Cachear las páginas públicas y revalidarlas al publicar, así las visitas dejan de pegarle a Postgres y sólo la vista previa se renderiza en cada pedido.
03Publicar dentro de una transacción, guardar historial también del orden de las secciones y pasar los tres planes del código a la base.
Próximo proyecto · 18 / 19
Sitios editables →Sitios estáticos con un editor que se arma solo y publica en git
Caso · 17 / 19

Noelia Viscelli

El sitio de una coach que vende e-books y un programa de cuatro meses. Ella edita sus propias páginas, y sus alumnas cursan en una plataforma propia.

Rol
Desarrollo completo
Stack
Next.js 16, React 19, TypeScript, Prisma, Postgres, Cloudinary
Noelia Viscelli
(01) El problema

Noelia vende e-books, llamadas agendadas y un programa, el Método SER, con tres planes. Cambia precios, ofertas y textos seguido, y cada cambio pasaba por un desarrollador. Además, sus alumnas necesitaban un lugar para ver las clases, entregar trabajos y agendar sus sesiones uno a uno.

Mi rolConvertí las dos landings en datos que ella edita y publica sola, y construí la plataforma del curso al lado.
(02) Resultados
26tipos de sección que puede editar, reordenar y publicar, cada uno validado por un schema
36rutas de API detrás de la plataforma de alumnas y su panel
7tipos de pregunta en el constructor de formularios de las clases
(03) Arquitectura

Tres decisiones que lo definieron.

01

Cada sección es una fila con su borrador al lado

Por qué. Cada instancia de sección es una fila JSON en Postgres con su contenido publicado y su borrador. Un schema de zod del catálogo valida cada guardado. La página mezcla lo guardado sobre los defaults del código, así un campo nuevo muestra su default sin migrar filas. Publicar primero copia el contenido anterior a una revisión, y revertir hace lo mismo, así que también se puede deshacer.

El costo. Postgres ve el contenido como texto, así que no se puede consultar nada adentro. Publicar actualiza las filas de a una, fuera de una transacción, y el orden de las secciones no tiene historial propio.

02

La vista previa es la página real

Por qué. El editor muestra la página pública en un iframe con ?preview=1. Una cookie firmada que dura 30 minutos pasa esa página a los borradores. No hay un segundo renderer para mantener igual, y el cambio entre escritorio y teléfono muestra exactamente lo que van a ver las visitas.

El costo. Leer la cookie hace que las dos páginas se rendericen en cada pedido. El sitio en vivo responde con cache-control: no-store, y cada visita consulta Postgres.

03

Hotmart vende, Calendly agenda, la plataforma enseña

Por qué. Los e-books llevan a checkouts de Hotmart, y las llamadas se agendan en un Calendly embebido. Hotmart ya resuelve el pago, los comprobantes y la entrega, así que puse el tiempo en la plataforma: clases, progreso, comentarios, calificaciones, entregas y formularios.

El costo. Las ventas no llegan al panel. Después de un pago, la cuenta de la alumna y la inscripción se crean a mano, y los límites de cada plan están en el código.

(04) Galería
Editor de páginas
Editor de páginas · Las secciones a la izquierda, el formulario de la elegida en el medio y la página real con el borrador a la derecha.
Inicio de la alumna
Inicio de la alumna · El progreso, las sesiones uno a uno que le quedan en su plan y la próxima clase. Con datos de prueba.
Clase en el teléfono
Clase en el teléfono · Video, marcar como completada y el material de la clase. Abajo están los comentarios, la calificación, la entrega y los formularios.
Planes del Método SER
Planes del Método SER · Los tres planes en la página de venta en vivo. Los precios y textos se editan desde el panel, no en el código.
(05) Qué haría después
01Escuchar el webhook de compra de Hotmart para crear la alumna y la inscripción, y mandar el mail de bienvenida que ya está escrito.
02Cachear las páginas públicas y revalidarlas al publicar, así las visitas dejan de pegarle a Postgres y sólo la vista previa se renderiza en cada pedido.
03Publicar dentro de una transacción, guardar historial también del orden de las secciones y pasar los tres planes del código a la base.
Próximo proyectoSitios editables →
Nahuel SantillánES