How kevinantoniowiyonolauw/g-13 works
g-13 is a community-built UGM Computer Science course guide. Its main workflow is to select a curriculum, explore/search courses and prerequisite links, inspect course details, and optionally plan a semester roadmap. The README also identifies exam archives, alumni, learning resources, FAQ, and Indonesian/English support. Edges below are limited to README statements or relationships visible in the supplied source index/excerpts; unsampled feature internals are represented without guessed call chains.
Main entry points: useCurriculumExplorer.ts Curriculum explorer · registry.ts Curriculum registry · index.ts 2026 curriculum · CurriculumMap.tsx Curriculum map
Components 26
Course guide
- Web routing
apps/web/src/router.tsx - Curriculum explorer
apps/web/src/features/curriculum/useCurriculumExplorer.ts - Course search
apps/web/src/features/curriculum/components/CourseSearch.tsx - Curriculum map
apps/web/src/features/curriculum/components/CurriculumMap.tsx - Course details
apps/web/src/courses/CourseDetailsPanel.tsx - Map edge routing
apps/web/src/graph/connection-routes.ts - Routing worker
apps/web/src/graph/connection-routing.worker.ts
Curriculum data
- Curriculum registry
packages/curriculum/src/registry.ts - 2021 curriculum
packages/curriculum/src/curricula/2021/normalize.ts - 2026 curriculum
packages/curriculum/src/curricula/2026/index.ts - Data normalization
packages/curriculum/src/normalize.ts - Course model
packages/curriculum/src/contracts/model.ts - Academic rules
packages/curriculum/src/contracts/rules.ts
Roadmap planner
- Roadmap planner
apps/web/src/features/roadmap
Community features
- Exam archive
apps/web/src/features/exam-archive/archive.ts - Exam catalog
apps/web/src/features/exam-archive/catalog.ts - Paper preview
apps/web/src/features/exam-archive/PaperPreview.tsx - Alumni directory
apps/web/src/features/alumni - Learning resources
apps/web/src/features/resources/ResourcesPage.tsx - FAQ
apps/web/src/features/faq/FaqPage.tsx
Shared experience
- Translations
packages/i18n/src/index.ts - Locale messages
packages/i18n/src/messages.ts - Locale hook
apps/web/src/useLocale.ts - Project trailer
apps/trailer/src/Composition.tsx
Other components
- Guide visitor
- Strapi service
Connections 28
- Guide visitor → Web routing: opens site
README.md - Web routing → Curriculum explorer: routes to
- Curriculum explorer → Curriculum registry: loads curriculum
apps/web/src/features/curriculum/useCurriculumExplorer.ts - Curriculum explorer → Curriculum map: prepares map
- Curriculum explorer → Course search: provides course data
apps/web/src/features/curriculum/components/CourseSearch.tsx - Guide visitor → Course search: searches courses
README.md - Guide visitor → Curriculum map: explores map
README.md - Guide visitor → Course details: opens details
README.md - Curriculum map → Map edge routing: routes connections
- Map edge routing → Routing worker: dispatches routing
apps/web/src/graph/connection-routing.worker.ts - Exam archive → Exam catalog: reads catalog
apps/web/src/features/exam-archive/archive.ts - Paper preview → Exam archive: gets paper links
apps/web/src/features/exam-archive/PaperPreview.tsx - Guide visitor → Exam archive: browses exams
README.md - Guide visitor → Alumni directory: browses alumni
README.md - Alumni directory → Strapi service: reads collection
README.md - Guide visitor → Learning resources: opens resources
README.md - Guide visitor → FAQ: opens FAQ
README.md - Guide visitor → Roadmap planner: plans semesters
README.md - Curriculum registry → 2021 curriculum: registers edition
- Curriculum registry → 2026 curriculum: registers edition
- 2021 curriculum → Data normalization: normalizes data
packages/curriculum/src/curricula/2021/normalize.ts - 2026 curriculum → Data normalization: normalizes data
- Data normalization → Course model: builds course model
packages/curriculum/src/normalize.ts - 2026 curriculum → Academic rules: defines rules
packages/curriculum/src/curricula/2026/index.ts - Locale hook → Translations: uses translations
apps/web/src/useLocale.ts - Locale hook → Curriculum registry: uses course types
apps/web/src/useLocale.ts - Translations → Locale messages: loads messages
packages/i18n/src/messages.ts - Project trailer → Guide visitor: presents project