Saltar al contenido
Todos los proyectos

Producto propio

Portfolio Web

Portafolio personal con Astro 5, API en Go y LibSQL.

Captura de la interfaz de Portfolio Web

Ficha del proyecto

Organización
Producto propio
Año
Estado
Publicado · destacado
Stack
Go Astro Docker

Sobre el proyecto

Sitio estático de alto rendimiento construido con Astro 5.0, respaldado por una API REST en Go y base de datos LibSQL distribuida.

01

El problema

Un sitio estático es rápido pero obliga a editar código y volver a desplegar para cambiar una coma. Un CMS tradicional resuelve la edición, pero a cambio cada visita pasa por un proceso de aplicación y una base de datos. La meta era tener las dos cosas: HTML plano servido por nginx y contenido editable desde un panel, sin renunciar a ninguna.

02

Mi rol

Diseño, desarrollo y operación completos: frontend, API, modelo de datos, panel de administración, infraestructura y despliegue.

03

Arquitectura y decisiones

  • Astro 5 con salida estática: el contenido se resuelve en build, así que cada visita se sirve como HTML plano desde nginx, sin proceso de aplicación en la ruta crítica.
  • API propia en Go con Gin sobre LibSQL: un binario sin dependencias de runtime y una base embebida, en vez de arrastrar un stack completo para un contenido que cabe en pocas tablas.
  • Panel de administración en HTMX en lugar de una SPA: el CRUD se resuelve devolviendo fragmentos de HTML desde el servidor, sin build de frontend ni estado duplicado en el cliente.
  • Reconstrucción disparada por el propio API: al guardar en el panel se escribe en un volumen compartido y un servicio systemd reconstruye el sitio, de modo que editar no exige acceso al servidor.
  • Despliegue con releases atómicos: cada build va a releases/<marca de tiempo> y se publica renombrando el symlink current, que es una operación atómica. Si el build falla, la versión en línea queda intacta.
  • nginx por delante con TLS de Let’s Encrypt, cabeceras de seguridad, límite de peticiones sobre el API y caché inmutable para los assets con hash.
  • Todo en Docker Compose sobre un VPS propio y con los puertos publicados solo en loopback: el único proceso expuesto a internet es nginx.
  • Migraciones idempotentes con marca de aplicación, para que las siembras iniciales no reescriban datos que se hayan editado desde el panel.

04

Impacto

Publicar o corregir contenido se hace desde el panel y el sitio se reconstruye solo: no hace falta tocar el repositorio ni entrar al servidor. Las visitas no ejecutan código de aplicación ni consultan la base de datos. Los despliegues no tienen ventana de caída y se conservan las últimas cinco versiones para volver atrás.

¿Necesitas algo parecido a Portfolio Web?

Cuéntame qué tienes que construir y te respondo en menos de 24 horas. Si prefieres revisar primero la trayectoria completa, el CV está listo para descargar.