Proyectos

Caso de estudio · Cliente real · En producción

Calzado Francis

Web y CMS a medida para un taller de reparación de calzado con +38 años de oficio. El objetivo: que el dueño pudiera cambiar casi todo él solo, sin saber programar y sin llamarme.

Cliente
Taller de reparación de calzado · Leganés
Mi papel
Todo: diseño, desarrollo, despliegue, seguridad y SEO
Fechas
ago. 2026 – sept. 2026
Estado
En producción

El reto: que lo use alguien que no es técnico

Lo difícil no era el código, era que el panel lo entendiera alguien sin conocimientos técnicos. Por eso no está organizado por cómo funciona por dentro, sino por lo que el dueño quiere hacer.

  • La primera pantalla pregunta ¿Qué quieres cambiar en la web? y cada tarjeta es una parte que el cliente ve.
  • Cada tarjeta dice dónde aparece ese contenido, para que no haya que adivinarlo.
  • Siempre el mismo camino: editar, revisar la vista previa en móvil u ordenador y guardar.
  • Horarios por meses, vacaciones, cierres y avisos con fechas, porque es lo que más cambia en un taller.
Maqueta del panel privado: la pregunta ¿Qué quieres cambiar en la web?, los pasos editar, revisar y guardar, y tarjetas para portada, servicios, trabajos, nosotros, preguntas y horarios.
Maqueta del panel privado, redibujada sin datos del negocio.

Arquitectura

La web es estática; lo único dinámico es el contenido, que se lee de un documento en Workers KV.

Quien visita la web

  1. Cloudflare PagesWeb estática hecha con Astro
  2. Cloudflare Pages FunctionsLeen el contenido publicado
  3. Workers KVUn único documento JSON

El dueño

  1. Cloudflare Zero TrustAcceso solo para el dueño
  2. Panel privadoEditar, previsualizar y publicar
  3. Workers KV + CloudinaryContenido e imágenes

GitHub Actions

  1. Cada pushastro check y build
  2. Cada díaCopia del contenido y de las imágenes en uso

Decisiones

Workers KV en vez de una base de datos

  • Todo el contenido de una web así cabe en un documento. No hacían falta tablas ni consultas.
  • Entra en el plan gratuito: el cliente no paga servidor ni base de datos.
  • Se lee desde el nodo de Cloudflare más cercano a quien visita la web.
  • Hosting, funciones, datos y seguridad en el mismo proveedor: menos piezas que mantener.

Cloudflare Zero Trust en vez de un login propio

  • No hay contraseñas guardadas en mi código que se puedan filtrar.
  • Un login seguro bien hecho (hash, sesiones, recuperación, límite de intentos) lleva días y es otra cosa que mantener.
  • Para el dueño es más cómodo: no tiene que recordar ninguna contraseña.

Validar todo en el servidor

  • Todo lo que llega del panel se valida en el servidor antes de guardarse.
  • Si un campo llega mal, se usa el valor por defecto. Un error en el panel nunca rompe la web.

Que no se pierda nada

Copia diaria

GitHub Actions hace cada día una copia del contenido y de las imágenes que usa la web.

Pruebas sin tocar producción

En local trabajo con una copia del contenido. Lo que pruebo ahí no llega a la web.

Comprobación en cada cambio

Cada push pasa por astro check y una compilación completa en GitHub Actions.

Resultado

La web está en producción y el contenido se cambia desde el panel, sin tocar código. Además tiene SEO local con Schema.org y sitemap, páginas legales, y el mapa de Google no se carga hasta que quien visita la web lo pide.

  • Astro
  • TypeScript
  • Tailwind CSS
  • Cloudflare Pages
  • Workers KV
  • Cloudinary
  • GitHub Actions