πŸŽ…πŸ» Advent Calendar 2024

December 23, 2024 (1 month ago)

Advent Calendar

πŸ‘¨πŸΌβ€πŸ’»πŸŽ…πŸ» This Christmas season, I had the joy of revamping a game I host every year, bringing people together and spreading Christmas vibes! πŸŽ„βœ¨

The game, a mobile-optimized web app designed as a real-life search challenge, delivered a daily β€œpicture of the day” via Telegram and Slack. Participants used the app’s map and location features to explore and find the spot in real life.

This year, I introduced exciting upgrades: a sleek UI built with Vue.js, a robust backend powered by TypeScript-based GraphQL, and hosting on K3s at Hetzner ARM. All game content, like the daily pictures, was managed via Strapi, a headless CMS that made content management seamless and efficient. Static content was delivered via AWS S3 and CloudFront, with GitHub Actions managing CI/CD.

♻️ I’m already planning improvements for next year:

  • πŸš€ After several projects in Vue, I’m looking forward to diving into SSR with Nuxt.js to further enhance the user experience.
  • πŸ” OpenFGA as fine grained authorization for multi region support
  • πŸ—οΈ For the backend, I’m considering GraphQL with πŸ¦€ Rust, leveraging async-graphql for a faster, more efficient solution (and honestly, Rust is just fun to work with!). Alternatively, I’m also exploring GraphQL with NestJS, as the current implementation is based on TypeScript on top of the default Apollo Server/Fastify setup.

Creating this game each year is such a rewarding experienceβ€”it’s the perfect opportunity to experiment with new tech while staying focused on delivering the core business logic. I can’t wait to see what next year brings! πŸš€πŸ˜Š

Advent Calendar
βš™οΈοΈ

TypeScript, GraphQL (Apollo Server), Prisma, Strapi, K3S, PostgreSQL, Hetzner, AWS S3, AWS CloudFront, Kubernetes

πŸ–₯️️

TypeScript, Vue.js, Tailwind CSS, DaisyUI

Advent CalendarAdvent Calendar
Advent CalendarAdvent Calendar
Advent CalendarAdvent Calendar
v1.43.0