// PROJECT_METADATA
Footbally
calendar_today
open_in_newfootbally.net →TanStack StartReact 19Drizzle ORMPostgreSQLRedisBetter-AuthTailwindCSS v4Railway
A fast, data-dense live football scores and sports analytics platform displaying real-time fixture details, standings, and automated match syncing.
footbally.net is a high-performance, data-dense football live tracking and analytics dashboard. It aggregates real-time data across global leagues, delivering live updates, team schedules, and historical standings in a polished interface optimized for high concurrent traffic.
⚽ Core Platform Features
1. Live Match Tracking & 30-Second Polling
- Implements a low-latency live score scoreboard with automated 30-second polling to capture game events, cards, and goals instantly.
- Displays detailed match configurations, referee allocations, stadium info, and lineup structures.
2. League Standings & Historical Statistics
- Renders interactive league tables detailing points, matches played, goal differences, and home/away forms.
- Tracks major international divisions: Premier League, La Liga, Serie A, Bundesliga, UEFA Champions League, and FIFA World Cup Qualifications.
3. User Personalization & Follow System
- Secure user dashboard allowing fans to follow specific leagues, teams, and key players.
- Delivers a personalized dashboard home feed showcasing active and upcoming fixtures tailored to the user’s custom following list.
🛠️ Technical Stack & Architecture
⚡ Unified Frontend & Router
- Framework: Engineered on TanStack Start (React 19, TanStack Router, TanStack Query) for a type-safe, unified full-stack architecture with optimized client-side hydration.
- Styling: Styled with Tailwind CSS v4 and shadcn/ui components to create a dark, highly professional, responsive score interface.
📦 Ingestion Engine & Background Jobs
- Queues: Powered by Redis and BullMQ to orchestrate asynchronous background sync jobs:
update-live: Polls live match scores every 60 seconds during match days.pull-fixtures: Runs daily to import upcoming fixtures and lineups.pull-future-data/pull-league-data: Syncs historical league data on demand.
- Database: Layered on PostgreSQL using Drizzle ORM for type-safe database schemas (football fixtures, standings, predictions, and follow lists).
🌐 Secure Infrastructure & Monitoring
- Authentication: Built with Better-Auth for secure session management.
- Hosting & Observability: Containerized via Docker and deployed on Railway, which handles database migrations, server routing, and background workers efficiently. System observability and error tracking are powered by Sentry (GlitchTip).