Tournacat comenzó como una idea de D2GCalun enlace a un calendario de Google que contiene el próximo dota 2 torneos disponibles para comprar en camino de las encías.
Desarrollé Tournacat por la frustración de perderme los grandes partidos de Dota 2. Estaba cansado de buscar constantemente en Internet para saber cuándo tenían lugar mis partidos favoritos.
Como ávido fanático de los deportes electrónicos, sabía que tenía que haber una mejor manera (cliché lo sé). Así que comencé a construir Tournacat para mi propio uso.
Hoy, Tournacat ha crecido para admitir los principales títulos de Esports, incluidos contraataque, dota 2, Jajaja, valorante, Vigilancia, y más.
Uso mucho Google Calendar, desde la programación de reuniones hasta el seguimiento de eventos personales. Así que tener un calendario de Esports al lado de todo en un solo lugar es una gran ventaja.
Con Tournacat, puedes instala el complemento en tu calendario de Google y deja que haga su magia. Es una solución perfecta que se integra a la perfección con Google Calendar.
Llevaba años buscando una solución como Tournacat. Probé todo tipo de calendarios públicos de Esports, pero siempre fallaban de alguna manera.
O el autor del calendario dejó de actualizarlo o simplemente era una fuente poco confiable propensa a errores humanos. Llegué al punto en que perdí la esperanza de encontrar un calendario que funcionara.
Tournacat se construye usando una variedad de herramientas y tecnologías. La pila de tecnología incluye:
Hugo
Hugo es un generador de sitios estáticos que solía crear Sitio web de Tournacat. Decidí usar Hugo por varias razones.
En primer lugar, no soy particularmente bueno en el desarrollo de front-end, así que quería usar un creador de sitios estáticos que me permitiera usar temas prefabricados sin tener que escribir una gran cantidad de código de front-end yo mismo. Hugo encaja perfectamente en este sentido.
En segundo lugar, Hugo es conocido por su velocidad y facilidad de uso. Quería poder iterar rápidamente y no perder mucho tiempo preocupándome por el rendimiento o la configuración de mi sitio. La documentación y las herramientas de Hugo facilitaron una configuración y ejecución rápidas. Con esto, pude concentrarme en crear contenido para el sitio web de Tournacat en lugar de preocuparme por los detalles técnicos.
Luego alojé el sitio web en Páginas de bengalas en la nube. El uso de Cloudflare Pages me ayudó a reducir costos porque no tuve que pagar por costosos servicios de alojamiento.
Trabajador de Cloudflare
Para el backend, decidí usar Cloudflare Worker. El trabajador de Cloudflare es un informática sin servidor plataforma que le permite ejecutar código JavaScript en el borde.
Para facilitarme la vida, construí el servidor backend Tournacat en un marco: Worktop. Este marco web ligero de Cloudflare Worker simplifica el desarrollo de API mediante TypeScript.
Si tuviera la oportunidad de hacerlo de nuevo, consideraría usar Honor en cambio, ya que parece ser mantenido más activamente en GitHub.
Mi decisión de elegir Cloudflare Worker se basó en mi nivel de comodidad con él, haber realizado varios proyectos anteriores con eso. La experiencia del desarrollador fue simplemente increíble y la implementación fue fácil. Además, fue asequible con un generoso nivel gratuito.
Aunque el rendimiento fue impresionante, esa no fue la razón principal por la que lo elegí.
Creación de secuencias de comandos de aplicaciones de Google
Creación de secuencias de comandos de aplicaciones de Google es la tecnología central detrás de la Complemento Tournacat. Es un lenguaje de secuencias de comandos basado en JavaScript que le permite ampliar y automatizar productos de Google Workspace como Google Calendar, Sheets y Drive.
Aunque es posible crear complementos de Google Workspace con otros lenguajes de codificación (tiempos de ejecución), aún así decidí ir con Google Apps Script por conveniencia. Francamente, ¡nunca pensé que me impresionaría lo fácil que es crear un complemento de espacio de trabajo!
Tenga en cuenta que viene con algunas limitaciones y cuotas.
Crear un complemento de Google Workspace es relativamente simple. EL tutorial adicional proporcionada por Google Workspace es bastante fácil de seguir.
En resumen, me tomó un día descubrir la mayoría de las cosas y alrededor de una semana para aprobar y publicar el complemento en Mercado de Google Workspace.
Ventajas
- Uno de los beneficios de usar Google Apps Script es que literalmente no cuesta nada ejecutarlo.
- Dado que utiliza JavaScript, es fácil para la mayoría de los desarrolladores elegirlo y comenzar a trabajar con él.
Desafíos
- Aunque Google afirma que Apps Script ahora es compatible con el tiempo de ejecución V8eso no es de hecho admite Promesas o espera asincrónica (Rastreador de incidentes). Por lo tanto, es posible que deba usar soluciones alternativas como disparadores (Referencias de desbordamiento de pila: 1, 2).
- Hacer cambios en el complemento Workspace es bastante poco ortodoxo. Me di cuenta de esto cuando uno de mis usuarios no pudo hacer que sus disparadores de tiempo funcionaran correctamente después de una nueva implementación. Resulta que la forma «correcta» de actualizar un complemento de espacio de trabajo es Editar una implementación versionada en lugar de crear una nueva (Referencia de desbordamiento de pila).
3. Debe respetar la límites establecidos por Google. Sin embargo, no se documentó si los límites se compartían entre todos los usuarios del complemento de forma acumulativa (pista: no es).
4. Finalmente, me encontré con un problema relacionado con la autenticación (referencias de Stackoverflow: 1, 2) cuando trato de usar Google Apps Script como un webhook para permitir que mis usuarios activen automáticamente sus suscripciones después del pago. Algunas respuestas sugeridas desactivar temporalmente el tiempo de ejecución de V8 para resolver este problema.
A pesar de estos contratiempos, Google Apps Script es una excelente plataforma para trabajar. El 90% del trabajo se realiza de manera muy eficiente; el último 10% son los desafíos que mencioné.
- Usa lo que te hace más productivo: No se preocupe por elegir la pila de tecnología perfecta que maneje la escala. Obtenga las herramientas que necesita para construir su idea.
- A los usuarios no les importa tu código: A nadie más que a usted le importan los marcos sofisticados, los patrones de diseño o la arquitectura utilizada. Los usuarios se preocupan por el producto y el valor que les ofrece.
- Mantenga su implementación simple: Esto permite iteraciones rápidas. Si bien podría haber seguido adelante con AWS y configurar una configuración elegante de Terraform, me di cuenta de que habría tardado más en realizar el envío si hubiera tomado esa ruta.
Siempre quise construir un micro SaaS. Así que decidí construir uno, dándome cuenta de que no me haría rico ni cambiaría el mundo. Simplemente me gusta crear cosas que la gente quiera usar, y el dinero es la validación definitiva.
Sin embargo, construir un SaaS no fue exactamente lo que pensé que sería, solo mantén la cabeza baja y codifica. Necesitaba comprender las necesidades de mis usuarios y aprender a comercializar mi producto de manera eficaz.
Tengo que admitir que el marketing no es algo que realmente disfrute. Pero me di cuenta de que es un trabajo necesario que viene con la construcción de un producto.
En general, construir Tournacat fue una experiencia gratificante. Ver crecer a Tournacat y ganar impulso ha sido un viaje emocionante. Espero continuar este viaje y espero con ansias lo que depara el futuro.