How chinoarror/class-schedule works
CampusFlow brings schedules, tasks, notes, reminders, and controlled schedule sharing together for university students. The main workflow is sign-in, view or import a schedule, manage learning work, and configure sharing or notification delivery. The web app calls the Worker API for authenticated state and service operations; scheduled Worker jobs dispatch reminders through configured channels. The extension stages a local course preview for confirmation in CampusFlow. README documents notes and attachments, but their implementation is not sampled, so links are limited to the documented subsystem path.
Main entry points: App.tsx CampusFlow UI · index.ts API and jobs · ehall-notice.js Import panel · auth.ts Auth verification
Components 25
Student workspace
- CampusFlow UI
src/web/App.tsx - Term calendar
src/shared/term.ts - Schedules
src/web - Todo list
src/web - Notes and files
src/web - Schedule sharing
src/web - Reminder settings
src/web/App.tsx
Worker services
- API and jobs
src/worker/index.ts - Auth verification
src/worker/auth.ts - User state
src/worker/index.ts - Attachment storage
src/web - Share records
src/worker/index.ts
Notifications
- Reminder dispatch
src/worker/index.ts - Email channel
src/worker/emails.ts - Webhook channels
src/worker/webhooks.ts - Delivery queue
src/worker/index.ts
Schedule import
- Import panel
extension/src/ehall-notice.js - BK-KQ parser
extension/src/bk-kq-parser.js - Preview staging
extension/src/background.js - Extension session
extension/src/background.js
Other components
- Student
- Browser
- Auth Center
- Delivery providers
- XJTU schedule page
Connections 26
- Student → CampusFlow UI: uses
- CampusFlow UI → Term calendar: gets term dates
- CampusFlow UI → API and jobs: calls API
- API and jobs → Auth verification: verifies token
- Auth verification → Auth Center: checks identity
- API and jobs → User state: reads and writes state
- API and jobs → Share records: reads and writes shares
- CampusFlow UI → Schedules: shows schedule
- CampusFlow UI → Todo list: shows tasks
- CampusFlow UI → Schedule sharing: offers sharing
- CampusFlow UI → Reminder settings: configures reminders
- CampusFlow UI → Notes and files: offers notes
- CampusFlow UI → Attachment storage: uploads attachments
- API and jobs → Reminder dispatch: runs scheduled checks
- Reminder dispatch → User state: reads schedules and tasks
- Reminder dispatch → Delivery queue: enqueues deliveries
- Delivery queue → Webhook channels: dispatches events
- Webhook channels → Delivery providers: sends webhook events
- Reminder dispatch → Email channel: prepares email
- Email channel → Delivery providers: sends mail
- Student → Import panel: starts import
- XJTU schedule page → Import panel: provides page
- Import panel → BK-KQ parser: parses BK-KQ page
- Import panel → Preview staging: stores preview
- Preview staging → Extension session: writes and reads preview
- Browser → CampusFlow UI: returns to confirm