Historia de Usuario
Yo como estudiante quiero generar un enlace corto y limpio al compartir mis configuraciones y scripts para evitar URLs sospechosamente largas, prevenir errores de truncado en apps de mensajería y mejorar la estética al compartir mi trabajo.
Criterios de Aceptación
Notas técnicas para el desarrollo
- Arquitectura de Archivos: La API dinámica de respaldo debe implementarse de forma externa al ciclo de vida de SvelteKit utilizando la carpeta nativa
/functions/api/ en la raíz del proyecto para no alterar la configuración actual de adapter-static.
- Estructura del ID: El ID corto generado por la Pages Function debe usar caracteres alfa-numéricos seguros para URL (evitando colisiones utilizando un generador de entropía suficiente, como un hash recortado o un fragmento pseudoaleatorio seguro).
- Optimización de Lecturas: Al implementar la renovación del TTL en cada lectura (
GET), asegúrate de retornar el JSON inmediatamente al cliente y realizar la extensión del .put() en segundo plano utilizando context.waitUntil(promise) en la función de Cloudflare para no bloquear ni añadir latencia a la respuesta que recibe el estudiante.
Historia de Usuario
Yo como estudiante quiero generar un enlace corto y limpio al compartir mis configuraciones y scripts para evitar URLs sospechosamente largas, prevenir errores de truncado en apps de mensajería y mejorar la estética al compartir mi trabajo.
Criterios de Aceptación
https://lab.ramolibre.app/?s=r8Xb2p).adapter-staticse monta en el navegador y detecta el parámetro?s=en la URL entonces debe realizar un únicofetchasíncrono a la Pages Function en segundo plano para recuperar el JSON desde KV e hidratar el laboratorio de inmediato, evitando redirecciones HTTP (302) que ralenticen la carga.expirationTtla 6 meses (180 días), asegurando que los enlaces inactivos se eliminen solos para no saturar el almacenamiento gratuito de 1 GB.Notas técnicas para el desarrollo
/functions/api/en la raíz del proyecto para no alterar la configuración actual deadapter-static.GET), asegúrate de retornar el JSON inmediatamente al cliente y realizar la extensión del.put()en segundo plano utilizandocontext.waitUntil(promise)en la función de Cloudflare para no bloquear ni añadir latencia a la respuesta que recibe el estudiante.