How learn-beast12/nit-manipur-football-beast works
This is a React web application for following and administering the NIT Manipur Inter-Year Football Tournament. Visitors browse tournament information, teams, players, fixtures, results, standings, knockout matches, champions, and rules; match cards lead to detailed score and event views. Administrators sign in and manage tournament data, match events, announcements, and settings. React Query hooks fetch tournament data from Supabase and refresh it on realtime changes; standings apply a head-to-head tie-breaker. The README documents capabilities beyond the sampled excerpts, so those relationships are shown only where routing or documentation supports them.
Main entry points: hooks.ts Tournament Queries · App.tsx App Router · pages Public Pages · admin Admin Pages
Components 16
Public Tournament
- App Router
src/App.tsx - Public Pages
src/pages - Match Detail
src/pages/MatchDetail.tsx - Match Card
src/features/matches/MatchCard.tsx
Admin Management
- Admin Pages
src/pages/admin - Admin Auth
src/features/admin/auth - Admin Layout
src/layouts/AdminLayout.tsx
Tournament Services
- Tournament Queries
src/features/tournament/hooks.ts - Standings Tie-breaker
src/features/standings/tieBreaker.ts - Fixture Generator
src/features/matches/fixtureGenerator.ts - Match Formatting
src/lib/format.ts
Data Access
- Auth Service
src/lib/auth.ts - Supabase Client
src/lib/supabase.ts
Other components
- Visitor
- Administrator
- Supabase
Connections 26
- Visitor → App Router: opens
src/App.tsx - Administrator → App Router: opens
src/App.tsx - App Router → Public Pages: routes to
src/App.tsx - App Router → Match Detail: routes to
src/App.tsx - App Router → Admin Pages: routes to
src/App.tsx - App Router → Admin Auth: protects
src/App.tsx - App Router → Admin Layout: routes to
src/App.tsx - Public Pages → Tournament Queries: loads data
src/pages/index.tsx - Public Pages → Match Card: renders
src/pages/index.tsx - Public Pages → Tournament Queries: loads data
src/pages/Standings.tsx - Public Pages → Tournament Queries: loads data
src/pages/Knockout.tsx - Public Pages → Tournament Queries: loads data
src/pages/Rules.tsx - Match Detail → Tournament Queries: loads matches
src/pages/MatchDetail.tsx - Match Detail → Supabase Client: queries events
src/pages/MatchDetail.tsx - Match Detail → Match Formatting: formats dates
src/pages/MatchDetail.tsx - Match Card → Match Formatting: formats dates
src/features/matches/MatchCard.tsx - Admin Pages → Tournament Queries: loads data
src/pages/admin/AdminOverview.tsx - Admin Pages → Supabase Client: manages records
src/pages/admin/AdminTeams.tsx - Admin Pages → Fixture Generator: generates fixtures
src/pages/admin/AdminMatches.tsx - Admin Pages → Auth Service: signs in
src/pages/admin/AdminLogin.tsx - Admin Auth → Auth Service: checks admin
src/features/admin/auth/useAuth.ts - Tournament Queries → Supabase Client: queries data
src/features/tournament/hooks.ts - Tournament Queries → Standings Tie-breaker: sorts standings
src/features/tournament/hooks.ts - Auth Service → Supabase Client: authenticates
src/lib/auth.ts - Supabase Client → Supabase: connects to
src/lib/supabase.ts - Tournament Queries → Supabase: subscribes to changes
src/features/tournament/hooks.ts