How v-fidelusaleksander/ghcertified works
GitHub Certified is a multilingual study and exam-practice website. Visitors browse certification questions or take mock exams; the site also offers timed challenge modes, leaderboards, and optional account-backed result saving. The question loader and Gauntlet/Time Trial hooks are sampled; several route and data-layer connections are inferred only from the file tree, so uncertain calls are omitted.
Main entry points: questions.ts Question Loader · AuthProvider.tsx Auth Provider · SaveResultButton.tsx Save Result · page.tsx Certification Exam
Components 23
Study and Exams
- Practice Catalog
app/src/app/[locale]/practice-tests/page.tsx - Certification Exam
app/src/app/[locale]/practice-tests/[cert]/page.tsx - Quiz Wrapper
app/src/app/[locale]/practice-tests/[cert]/quiz-wrapper.tsx - Practice Quiz
app/src/components/quiz/Quiz.tsx - Question Library
app/src/app/[locale]/questions/[cert]/page.tsx - Question Browser
app/src/app/[locale]/questions/[cert]/question-browser.tsx
Challenges
- Challenge Catalog
app/src/app/[locale]/challenges/page.tsx - Gauntlet Page
app/src/app/[locale]/challenges/gauntlet/page.tsx - Gauntlet Mode
app/src/components/challenges/GauntletMode.tsx - Gauntlet Engine
app/src/hooks/useGauntletMode.ts - Time Trial Page
app/src/app/[locale]/challenges/time-trial/page.tsx - Time Trial Mode
app/src/components/challenges/TimeTrialMode.tsx - Time Trial Engine
app/src/hooks/useTimeTrialMode.ts - Leaderboard Page
app/src/app/[locale]/challenges/leaderboard/page.tsx - Save Result
app/src/components/challenges/SaveResultButton.tsx
Shared Platform
- Home Page
app/src/app/[locale]/page.tsx
Data and Accounts
- Question Loader
app/src/lib/questions.ts - Leaderboard Data
app/src/lib/leaderboard.ts - Auth Provider
app/src/components/AuthProvider.tsx - Supabase Client
app/src/lib/supabase.ts
Other components
- Visitor
- Supabase
- GitHub OAuth
Connections 28
- Visitor → Home Page: opens
- Visitor → Practice Catalog: browses
- Visitor → Question Library: browses
- Visitor → Challenge Catalog: opens
- Home Page → Question Loader: reads catalog
- Practice Catalog → Certification Exam: selects exam
- Certification Exam → Question Loader: loads questions
- Certification Exam → Quiz Wrapper: starts exam
- Quiz Wrapper → Practice Quiz: renders
- Question Library → Question Loader: loads questions
- Question Library → Question Browser: renders
- Challenge Catalog → Gauntlet Page: opens mode
- Challenge Catalog → Time Trial Page: opens mode
- Gauntlet Page → Question Loader: loads questions
- Gauntlet Page → Gauntlet Mode: renders
- Gauntlet Mode → Gauntlet Engine: runs game
- Time Trial Page → Question Loader: loads questions
- Time Trial Page → Time Trial Mode: renders
- Time Trial Mode → Time Trial Engine: runs game
- Visitor → Leaderboard Page: views scores
- Leaderboard Page → Leaderboard Data: reads scores
- Gauntlet Mode → Save Result: offers saving
- Time Trial Mode → Save Result: offers saving
- Save Result → Auth Provider: checks account
- Auth Provider → Supabase Client: uses client
- Supabase Client → Supabase: connects
- Auth Provider → GitHub OAuth: OAuth sign-in
- Auth Provider → Save Result: consumes pending result