How longhorn-developers/ut-registration-plus works
UT Registration Plus is a Chrome extension that enriches UT Austin course-catalog pages and helps students plan and manage course schedules. The main workflow runs from catalog browsing through course details and saved schedules to popup and weekly-calendar views; separate capabilities include grade distributions, campus mapping, and settings. The tree, README, and excerpts support the principal entry points and some storage/message relationships, but most component and background wiring was not sampled, so uncertain links are omitted.
Main entry points: CourseCatalogMain.tsx Catalog Interface · useSchedules.ts Schedule Hooks · userScheduleHandler.ts Schedule Handler · background.ts Background Worker
Components 21
Catalog Experience
- Catalog Interface
src/views/components/CourseCatalogMain.tsx - Catalog Scraper
src/views/lib/CourseCatalogScraper.ts - Course Breakdown
src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx
Schedule Planning
- Extension Popup
src/views/components/PopupMain.tsx - Schedule Hooks
src/views/hooks/useSchedules.ts - Weekly Calendar
src/pages/calendar/CalendarMain.tsx - Calendar Layout
src/views/hooks/useFlattenedCourseSchedule.ts
Course Insights
- Grade Distributions
src/views/components/injected/CourseCatalogInjectedPopup/GradeDistribution.tsx - Distribution Queries
src/views/lib/database/queryDistribution.ts - Course Data Database
src/views/lib/database/initializeDB.ts - Campus Map
src/views/components/map/Map.tsx
Extension Runtime
- View Entry
src/views/index.tsx - Schedule Handler
src/pages/background/handler/userScheduleHandler.ts - Schedule Operations
src/pages/background/lib - Schedule Store
src/shared/storage/UserScheduleStore.ts - Settings
src/views/components/settings/Settings.tsx - Background Worker
src/pages/background/background.ts - Calendar Tab Handler
src/pages/background/handler/calendarBackgroundHandler.ts
Other components
- Student
- UT Course Catalog
- Course Info Services
Connections 22
- Student → UT Course Catalog: browses courses
- UT Course Catalog → View Entry: loads extension view
- View Entry → Catalog Interface: renders catalog UI
- Catalog Interface → Catalog Scraper: scrapes catalog
- Catalog Interface → Course Breakdown: shows breakdown
- Course Breakdown → Course Info Services: links to details
- Student → Extension Popup: opens popup
- Extension Popup → Schedule Hooks: views schedules
- Schedule Hooks → Schedule Store: reads schedules
- Student → Schedule Handler: manages schedules
- Schedule Handler → Schedule Operations: dispatches operations
- Schedule Hooks → Calendar Layout: formats meetings
- Student → Weekly Calendar: views weekly plan
- Weekly Calendar → Calendar Layout: uses schedule layout
- Student → Grade Distributions: checks grade history
- Grade Distributions → Distribution Queries: requests distributions
- Distribution Queries → Course Data Database: queries database
- Student → Campus Map: plans campus travel
- Student → Settings: configures extension
- Background Worker → Schedule Handler: registers handler
- Background Worker → Calendar Tab Handler: registers handler
- Calendar Tab Handler → Schedule Store: tracks calendar tabs