How ryanruiliu/study-pilot works
Study Pilot is a local browser extension that consolidates unfinished course work, deadlines, and status for a user already signed in to icourse163.org. Its main cycle loads selected courses, refreshes and stores a local snapshot when needed, derives automatic versus user-only actions, and presents the resulting to-do list. Background jobs can submit eligible quizzes and peer/self evaluations; page features separately assist with objective answers and show scoring guidance. README documents reminders and safeguards; unsampled implementation details and uncertain call wiring are not expanded.
Main entry points: background.ts Background worker · client.ts MOOC client · popup/main.ts To-do popup · options/main.ts Settings page
Components 22
Extension UI
- To-do popup
apps/extension/entrypoints/popup/main.ts - Settings page
apps/extension/entrypoints/options/main.ts - MOOC page script
apps/extension/entrypoints/mooc.content.ts - Quiz assistance
apps/extension/src/features/quiz-helper.ts - Page features
apps/extension/src/features/index.ts
Task management
- Background worker
apps/extension/entrypoints/background.ts - Run scheduling
apps/extension/src/background/scheduler.ts - Work snapshot
apps/extension/src/background/snapshot.ts - Action planning
apps/extension/src/background/task-plan.ts - Task execution
apps/extension/src/background - Desktop reminders
apps/extension/src/background/reminder.ts - Settings storage
apps/extension/src/settings/storage.ts
MOOC integration
- Session access
apps/extension/src/platform/mooc-session.ts - MOOC client
packages/platform-mooc/src/client.ts - Course and work data
packages/platform-mooc/src/courses.ts - Quiz operations
packages/platform-mooc/src/quiz.ts - Review operations
packages/platform-mooc/src/review.ts - Course structure
packages/platform-mooc/src/structure.ts
HTTP protocol
- RPC and DWR
packages/transport/src/index.ts
Other components
- Student
- icourse163.org
- Browser local storage
Connections 34
- Student → To-do popup: opens
- Student → Settings page: configures
- Student → MOOC page script: opens course page
- To-do popup → Background worker: requests status and tasks
- Settings page → Background worker: requests refresh or run
- Settings page → Settings storage: reads and updates
- To-do popup → Settings storage: reads settings
- Background worker → Run scheduling: checks run eligibility
- Background worker → Session access: ensures login session
- Background worker → Work snapshot: reads and refreshes
- Background worker → Action planning: derives task plan
- Background worker → Task execution: dispatches eligible tasks
- Background worker → Desktop reminders: dispatches notifications
- Task execution → Quiz operations: submits eligible quizzes
- Task execution → Review operations: submits reviews and self-evaluations
- Background worker → Course and work data: fetches courses and work
- Background worker → Settings storage: reads configuration
- Work snapshot → Browser local storage: reads and writes snapshot
- Settings storage → Browser local storage: reads and writes settings
- To-do popup → Work snapshot: reads pending work
- Background worker → MOOC client: creates platform client
- MOOC client → RPC and DWR: uses RPC and DWR
- Course and work data → MOOC client: calls platform client
- Quiz operations → MOOC client: calls platform client
- Review operations → MOOC client: calls platform client
- MOOC client → icourse163.org: sends platform requests
- icourse163.org → MOOC client: returns course and task data
- Session access → icourse163.org: uses browser session
- MOOC page script → Page features: starts page features
- Page features → Quiz assistance: enables quiz assistance
- Quiz assistance → Quiz operations: loads answers and quiz data
- Quiz assistance → icourse163.org: page actions use signed-in account
- Settings page → Course and work data: requests course refresh
- Task execution → Work snapshot: updates work state