How kayadhomrtg-del/studyhub works
College Study Hub is a browser-first, local study workspace. Learners organize course modules and materials, then manage notes, assignments, search, and planned or guided-recall sessions; records and imported files stay in on-device IndexedDB. The optional AI branch extracts selected material, prepares a reviewable request, and sends it through a gated local proxy only after approval. Backup/restore and offline app-shell support are additional capabilities. Some page and server internals were not excerpted, so those links are included only where the README or source index supports them.
Main entry points: App.tsx Browser app · moduleDatabase.ts IndexedDB · pipeline.ts Request pipeline · MaterialService.ts Materials
Components 20
Study workspace
- Browser app
src/App.tsx
Study features
- Materials
src/features/materials/MaterialService.ts - Modules and topics
src/features/modules/ModuleService.ts - Notes
src/features/notes/NoteService.ts - Assignments
src/features/tasks/TaskService.ts - Study sessions
src/features/studySessions/StudySessionService.ts - Guided recall
src/pages/StudySessionReviewPage.tsx - Workspace search
src/features/search/SearchService.ts - Search corpus
src/features/search/SearchRepository.ts
Local data
- IndexedDB
src/features/modules/moduleDatabase.ts
Optional AI
- AI review UI
src/features/ai/AiSummaryPage.tsx - AI request client
src/features/ai/useAiFeatureRequest.ts - Request pipeline
server/ai/pipeline.ts - Runtime gates
server/ai/gates.ts - Request validation
server/ai/requestValidation.ts - Provider dispatch
server/ai/provider.ts
Backup and offline
- Backup and restore
src/features/backup/BackupService.ts - Offline app shell
public/sw.js
Other components
- Learner
- Gemini
Connections 25
- Learner → Browser app: uses
README.md - Browser app → IndexedDB: stores study data
README.md - Browser app → Materials: opens materials
README.md - Browser app → Modules and topics: organizes courses
README.md - Browser app → Notes: manages notes
README.md - Browser app → Assignments: tracks assignments
README.md - Browser app → Study sessions: plans sessions
README.md - Browser app → Workspace search: searches workspace
README.md - Browser app → Backup and restore: exports or restores
README.md - Browser app → Offline app shell: runs offline shell
README.md - Guided recall → Study sessions: loads and saves
src/pages/StudySessionReviewPage.tsx - Guided recall → Notes: saves recall notes
src/pages/StudySessionReviewPage.tsx - Workspace search → Search corpus: gets corpus
src/features/search/SearchService.ts - Search corpus → IndexedDB: reads records
src/features/search/SearchRepository.ts - Materials → IndexedDB: persists materials
src/features/materials/MaterialService.ts - Notes → IndexedDB: uses local store
src/features/notes/NoteService.ts - Assignments → IndexedDB: uses local store
src/features/tasks/TaskService.ts - Study sessions → IndexedDB: uses local store
src/features/studySessions/StudySessionService.ts - AI review UI → AI request client: requests assistance
- AI request client → Request pipeline: sends approved request
- Request pipeline → Runtime gates: evaluates gates
server/ai/pipeline.ts - Request pipeline → Request validation: validates payload
server/ai/pipeline.ts - Request pipeline → Provider dispatch: dispatches request
server/ai/pipeline.ts - Provider dispatch → Gemini: calls provider
- Materials → AI review UI: provides selected text
README.md