Skip to content

AJBogo9/activity-challenge-bot

Repository files navigation

Bot Banner

A Telegram bot for tracking physical activities and fostering healthy competition among Aalto University guilds. Built with Bun, PostgreSQL, and grammY.

Features

  • Guild Competition System - Real-time leaderboards based on average points per member
  • MET-Based Scoring - Science-backed points using the 2024 Compendium of Physical Activities
  • 10+ Activities - Comprehensive 4-level hierarchy from casual walks to competitive sports
  • Rich Statistics - Personal rankings, guild standings, and activity history
  • High Performance - Built with Bun runtime and optimized PostgreSQL queries
  • Privacy First - Only stores necessary data, no location tracking

Tech Stack

  • Runtime: Bun (fast JavaScript/TypeScript runtime)
  • Database: PostgreSQL with postgres.js
  • Bot Framework: grammY (modern Telegram bot framework)
  • Frontend: React + Vite + TailwindCSS
  • Deployment: Kubernetes (Talos Linux) on Hetzner Cloud
  • GitOps: Flux CD

Documentation

Comprehensive documentation is available in the docs/ directory:

About

A Telegram bot that tracks activity competition scores among Aalto guilds

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors