21 Days of Code. Purdue Hackers' annual winter break coding challenge.

This repository contains the source code for the Commit Overflow 2025-2026 website. It tracks participants' daily git commits, visualizing their progress and maintaining a live leaderboard during the event (Dec 22, 2025 - Jan 12, 2026).
Built with the T3 Stack philosophy in mind, but adapted for the edge.
- Framework: Astro 5 (SSR)
- UI: React 19, Tailwind CSS
- Database: Cloudflare D1
- Cache/KV: Upstash Redis
- Integrations: Discord API
- Deployment: Vercel
Create a .env file in the root directory with the following keys (see env.ts for schema):
# Cloudflare D1 (Database)
D1_ACCOUNT_ID=
D1_DATABASE_ID=
D1_API_TOKEN=
# Discord API (Auth & Bot)
DISCORD_CLIENT_ID=
DISCORD_BOT_TOKEN=
# Upstash Redis (KV Store)
KV_REST_API_URL=
KV_REST_API_TOKEN=# Install dependencies
bun install
# Start development server
bun devThe site will be available at http://localhost:4321.
| Command | Description |
|---|---|
bun dev |
Start local dev server |
bun build |
Type-check and build for production |
bun preview |
Preview the production build locally |
bun lint |
Run Oxlint for code analysis |
bun format |
Format code with Oxfmt |
src/
├── components/ # UI components (React & Astro)
│ ├── CommitChart.tsx # Activity visualization
│ ├── Leaderboard.tsx # Ranking system
│ └── ...
├── lib/ # Backend logic & utilities
│ ├── d1.ts # Database interactions
│ ├── redis.ts # Caching layer
│ └── ...
├── pages/ # File-based routing
│ ├── api/ # Server-side API endpoints
│ └── index.astro
└── styles/ # Global Tailwind styles
This project is configured for deployment on Vercel with the Astro Vercel Adapter.
Pushes to main should trigger a production build.