BookinglyTech News
Software

Servicio de upvotes para blogs estáticos llamado soupvotes

Un autor de blogs estáticos ha creado soupvotes, un microservicio que permite contabilizar y añadir upvotes a sus posts sin perder la generación estática.

2 min de lecturaLobsters0 vistas

¿Qué es soupvotes?

El autor, que mantiene su blog con generación estática, necesitaba una forma sencilla de recibir retroalimentación sin comprometer su arquitectura. Decidió crear un microservicio llamado soupvotes que recibe la URL de un post y devuelve la cantidad de upvotes o permite añadir uno nuevo.

Mecanismo de protección

Para evitar abusos, el servicio almacena cada voto como el hash del IP del visitante concatenado con el año actual. Esta técnica limita la repetición a una vez por año. Además, se incluye una lista blanca de dominios permitidos y una verificación rápida de que la URL corresponde a un post real.

Implementación

El backend está construido con JavaScript (Node.js) y se comunica con el blog mediante una llamada fetch. Cuando la página se carga, un script incrustado solicita los upvotes al endpoint y añade un botón de “tea cup” debajo del post. Al pulsar, se envía una petición POST que incrementa el contador.

Nombre y branding

Originalmente el proyecto se llamó upvaas (upvotes as a service), pero al descubrir que es una palabra hindi que significa “ayuno”, el autor optó por soupvotes. El nombre evoca la idea de una taza de té humeante que indica un voto aprobado, manteniendo la coherencia con la estética del blog.

Requisitos y compatibilidad

  • Lenguaje: JavaScript (Node.js). No depende de frameworks pesados.
  • Persistencia: El servicio guarda los hashes en un simple archivo o base de datos ligera; no se menciona un motor específico.
  • Compatibilidad: Se integra con cualquier blog estático que pueda ejecutar JavaScript en el cliente.

Implicaciones operativas

Para un administrador de sistemas, soupvotes es una solución ligera que no altera la generación del sitio. Se puede desplegar en cualquier entorno que soporte Node.js, desde un VPS hasta una función serverless. La lógica de hashing evita la necesidad de autenticación, lo que simplifica la operación.

Próximos pasos

El autor menciona que la única desventaja es la posibilidad de un segundo voto en la misma fecha de cambio de año. Una mejora sería añadir un campo de timestamp más granular o permitir votos por día.

Por qué importa

Para quienes gestionan blogs estáticos y buscan métricas de interacción sin migrar a plataformas dinámicas, soupvotes ofrece una alternativa minimalista. La implementación en JavaScript y el esquema de protección basado en IP hacen que sea fácil de desplegar y mantener.

El proyecto se encuentra en GitHub bajo la licencia MIT, lo que permite su uso y modificación libremente.