How holtwalker13/track-tracker works
Track Tracker is a multi-school athletics application for coaches and students to measure, compare, improve, compete, and project performance. Coaches maintain graduating-class rosters and class sections, create live testing sessions, and record attempts; the app saves results for performance views, leaderboards, analytics, comparisons, and projections. Coaches can also build or generate workout programs and students can log completed work. The graph follows sampled route-to-service calls and direct database access; README-listed screens and unsampled integrations are shown as capabilities, but uncertain UI-to-API wiring is omitted.
Main entry points: db.ts Prisma client · queries Performance queries · save/route.ts Save attempts · import/route.ts Roster import
Components 26
Access and schools
- Login
src/app/api/auth/login/route.ts - School admin
src/app/api/admin/switch-school/route.ts
Roster and classes
- Roster import
src/app/api/roster/import/route.ts - Student records
src/app/api/students/route.ts - Class sections
src/app/api/classes/route.ts - Class import
src/app/api/classes/import/route.ts - Student login setup
src/lib/services/student-login.ts
Testing and results
- Testing sessions
src/app/api/testing/sessions/route.ts - Save attempts
src/app/api/testing/save/route.ts - Result processing
src/lib/services/results.ts - Board celebrations
src/lib/services/testing-celebration.ts - School lifts
src/app/api/lifts/route.ts - KPI targets
src/app/api/kpi-targets/route.ts
Workout programs
- Workout templates
src/app/api/workouts/templates/route.ts - Workout generation
src/app/api/workouts/generate/route.ts - Generator plans
src/lib/services/workout-generator.ts
Performance insights
- Coach analytics
src/app/coach/analytics/page.tsx - Coach leaderboards
src/app/coach/leaderboards/page.tsx - Coach compare
src/app/coach/compare/page.tsx - Student performance
src/app/student/performance/page.tsx - Student projection
src/app/student/projection/page.tsx - Performance queries
src/lib/queries
Other components
- Coach
- Student
- Prisma client
src/lib/db.ts - PostgreSQL
Connections 40
- Coach → Login: signs in
- Student → Login: signs in
- Coach → Roster import: uploads roster
- Coach → Class sections: manages sections
- Coach → Class import: imports sections
- Coach → Testing sessions: starts testing
- Coach → Save attempts: records attempts
- Coach → School lifts: manages lifts
- Coach → KPI targets: sets targets
- Coach → Workout templates: builds programs
- Coach → Workout generation: generates workouts
- Student → Student performance: reviews results
- Student → Student projection: views projection
- Coach → Coach analytics: reviews analytics
- Coach → Coach leaderboards: views rankings
- Coach → Coach compare: compares athletes
- Roster import → Student login setup: ensures accounts
- Student records → Student login setup: ensures account
- Save attempts → Result processing: saves results
- Save attempts → Board celebrations: checks board hits
- Workout generation → Generator plans: builds plan
- Roster import → Prisma client: reads and writes
- Student records → Prisma client: reads and writes
- Class sections → Prisma client: reads and writes
- Class import → Prisma client: reads and writes
- Testing sessions → Prisma client: reads and writes
- Save attempts → Prisma client: reads and writes
- School lifts → Prisma client: reads and writes
- KPI targets → Prisma client: reads and writes
- Workout templates → Prisma client: reads and writes
- Workout generation → Prisma client: reads and writes
- Result processing → Prisma client: persists results
- Student login setup → Prisma client: manages accounts
- Performance queries → Prisma client: queries data
- Prisma client → PostgreSQL: connects
- Coach analytics → Performance queries: uses insights
- Coach leaderboards → Performance queries: uses rankings
- Coach compare → Performance queries: uses comparisons
- Student performance → Performance queries: uses performance data
- Student projection → Performance queries: uses projections