How glacy/fg1-astro works
FG1 is a static course website and installable PWA for students, with course materials, weekly planning, assessments, office hours, and academic readings. The main journey is browsing the dashboard into weekly plans or readings; separate planner and schedule pages provide assessment and instructor information with client-side filters. The repository also documents a distinct Starlight documentation area and offline support. Edges reflect README-described routing and sampled data/filter/cache behavior; page implementations and several integrations were not sampled, so uncertain wiring is omitted.
Main entry points: ShellLayout.astro Astro shell · index.astro Office hours · sw.ts Service worker · [semana].astro Weekly plans
Components 21
Course pages
- Dashboard
src/pages/index.astro - Weekly plans
src/pages/weekly/[semana].astro - Assessment planner
src/pages/planner/index.astro - Office hours
src/pages/schedule/index.astro - Reading index
src/pages/documentos/index.astro - Astro shell
src/layouts/ShellLayout.astro
Learning materials
- Academic readings
src/content/docs - Interactive exercises
src/components/Exercise.astro - Math diagrams
src/components/graph/index.ts
Course data
- Weekly content
src/content/weeks - Week loader
src/lib/weekly/weeks.ts - Assessment data
src/lib/planner/exams.json - Exam filters
src/lib/planner/index.ts - Instructor data
src/lib/instructors.ts - Schedule filters
src/lib/schedule-filter.client.ts
Browser runtime
- Service worker
src/sw.ts - Offline page
src/pages/offline.astro - Theme preference
src/lib/shared/theme.ts
Other components
- Student
- Browser storage
- Web network
Connections 24
- Student → Dashboard: opens
- Student → Weekly plans: browses
- Student → Assessment planner: browses
- Student → Office hours: browses
- Student → Reading index: browses
- Student → Academic readings: reads
- Dashboard → Astro shell: uses layout
- Weekly plans → Astro shell: uses layout
- Assessment planner → Astro shell: uses layout
- Office hours → Astro shell: uses layout
- Reading index → Astro shell: uses layout
- Weekly plans → Week loader: loads weeks
- Week loader → Weekly content: reads
- Assessment planner → Exam filters: filters exams
- Exam filters → Assessment data: reads
- Office hours → Instructor data: renders hours
- Office hours → Schedule filters: sets up filters
- Academic readings → Interactive exercises: renders exercises
- Academic readings → Math diagrams: renders diagrams
- Astro shell → Theme preference: sets theme
- Theme preference → Browser storage: stores preference
- Service worker → Browser storage: caches pages
- Service worker → Web network: fetches pages
- Service worker → Offline page: falls back