¿Por qué he creado un acortador de URL con Netlify?

Subscribe to my newsletter and never miss my upcoming articles

A los pocos días de la fecha de esta publicación, me propuse crear un acortador de URL. La idea me vino principalmente porque, cuando estaba documentando un proyecto de trabajo, tenía que añadir un enorme enlace y eso me sacó de mi cabeza.

Visité varios servicios, como Bitly, Cuttly, etc., pero ninguno de ellos me convenció. Lo que quería era algo más personal o que simplemente no tuviera que pagar por ello. No a menos que realmente lo necesitara, es decir, si sabía que el enlace sería visitado por miles de personas; por supuesto tendría en cuenta los recursos que necesitaría y su precio. Pero el enlace resultante del acortamiento que buscaba sería utilizado por algunos desarrolladores.

Estaba buscando varias alternativas personales. De las soluciones propuestas me atrajo principalmente una aplicación Node.js que usaba MongoDB y Nginx para la redirección. Sin embargo, no tuve tiempo de crear todo el proyecto e implementarlo en un servidor (Pero no descarto probarlo cuando tenga tiempo libre). Seguí buscando otras soluciones a mi problema y encontré un pequeño cofre dorado.

Cofre del tesoro

Encontré un blog que explicaba cómo aprovechar el sistema de redireccionamiento de Netlify (una plataforma de despliegue continuo). En resumen, cuando se crea un proyecto en Netlify basado en un repositorio se puede añadir un archivo específico para realizar redirecciones dentro de un sitio web.

El archivo en cuestión es "_redirects". Este sistema se utilizó anteriormente en proyectos que incluían Vue.js. Esto se debe a que es necesario redirigir todas las URL del sitio al mismo archivo HTML. Sin embargo, nunca se me ocurrió usarlo de esa manera.

El objetivo de usar este sistema es aprovechar la simple sintaxis del archivo:

/5Pbg2   https://www.typescriptlang.org/
/eD3uA   https://docs.nestjs.com/
/3ut9f   https://pm2.keymetrics.io/docs/usage/quick-start/

Arriba hay un ejemplo de la "configuración" del archivo. Básicamente, cuando visitamos el punto final del sitio web dado por Netlify, el sistema de redireccionamiento nos enviará a la página objetiva.

¿Qué hice después de descubrir esto? Fui directamente a Namecheap. Pues el dominio short-url.rubenconde.com (o la que da Netlify por defecto) no sería lo suficientemente corta para aprovechar el servicio. Para evitar alargar esta parte, conseguí el dominio rubn.xyz por menos de 10 dólares durante dos años (no está mal).

Después de eso creé el proyecto en GitHub, lo asocié a un proyecto en Netlify y empecé a modificar el archivo "_redirects". Y voilà. Todo funcionando perfectamente.

Sin embargo, no estaba completamente contento con ese resultado. Para poder actualizar la lista de redirecciones del sitio de Netlify se tiene que ejecutar la construcción del proyecto. Esto se puede realizar de varias formas, la más sencilla a mi parecer, con un push al repositorio. Pero si revisamos el flujo de acciones, sería un poco así:

  1. Crear endpoint de la URL (ya sea a mano o por alguna librería)
  2. Modificar el archivo "_redirects"
  3. Realizar un push al repositorio.

Si, no son muchos, pero a veces soy muy holgazán. Así que seguí buscando en alguna solución y me encontré con un paquete de NPM, netlify-shortener. Con un simple comando este paquete permite hacer los 3 pasos anteriores.

Para más información del proyecto concerniente a esta publicación pueden ir al repositorio en GitHub:

RubenConde/url-shortener - GitHub

Ir al repositorio

No Comments Yet