How erchulo/learn-alpine works
learn-alpine is an exercise-driven Alpine.js course: learners study 18 curriculum modules, build solutions in isolated browser sandboxes, receive automated checks and quiz credit, and track mastery. The app also provides reference material, actuarial calculators, reading preferences, and locally persisted/exportable progress. The graph follows documented and excerpted wiring; several route implementations and the harness protocol are not fully sampled, so uncertain links are omitted.
Main entry points: app.js App shell and router · store.js Course store · 01-foundations.js 18-module curriculum · runner.js Sandbox runner
Components 25
Course application
- App shell and router
src/app.js - Dashboard
src/views/home.js - Module view
src/views/module.js - Study path
src/views/path.js - Quiz view
src/views/quiz.js - Workshop view
src/views/workshop.js - Insights view
src/views/insights.js
Learning content
- 18-module curriculum
src/content/01-foundations.js - Exercise datasets
src/content/data.js - Worked ladder example
src/content/ladder.js - Framework reference
src/content/reference.js - Cheatsheet view
src/views/cheatsheet.js
Practice and assessment
- Exercise workbench
src/components/workbench.js - Sandbox runner
src/lib/runner.js - Sandbox checks runtime
src/harness/index.js - Assertion checks
src/lib/checks.js - Quiz item
src/components/quiz-item.js - Quiz battery
src/components/quiz-battery.js
Progress and preferences
- Course store
src/store.js - Mastery engine
src/lib/engine.js - Safe local storage
src/lib/storage.js - Reading settings
src/components/settings.js
Actuarial toolkit
- Calculator view
src/views/calculator.js - Actuarial calculators
src/components/tools.js
Other components
- Learner
Connections 27
- Learner → App shell and router: uses
README.md - App shell and router → Course store: creates
src/app.js - App shell and router → Exercise workbench: registers
src/app.js - App shell and router → Quiz item: registers
src/app.js - App shell and router → Quiz battery: registers
src/app.js - App shell and router → Reading settings: registers
src/app.js - App shell and router → Module view: renders
src/app.js - Course store → 18-module curriculum: loads
src/store.js - Dashboard → 18-module curriculum: reads
src/views/home.js - Module view → Worked ladder example: uses
src/views/module.js - Study path → 18-module curriculum: reads
src/views/path.js - Quiz view → 18-module curriculum: reads
src/views/quiz.js - Exercise workbench → Sandbox runner: runs exercises
src/components/workbench.js - Workshop view → Sandbox runner: runs workshop
- Sandbox runner → Sandbox checks runtime: messages
src/lib/runner.js - Sandbox checks runtime → Assertion checks: uses checks
src/harness/index.js - Quiz item → Course store: records answers
- Course store → Mastery engine: creates and refreshes
src/store.js - Mastery engine → Safe local storage: persists progress
src/lib/engine.js - Course store → Safe local storage: persists preferences
src/store.js - Learner → Calculator view: opens toolkit
- Calculator view → Actuarial calculators: uses calculator scopes
README.md - Actuarial calculators → Exercise datasets: computes from datasets
src/components/tools.js - Learner → Cheatsheet view: consults
README.md - Cheatsheet view → Framework reference: reads
src/views/cheatsheet.js - Learner → Reading settings: adjusts reading
README.md - Insights view → Course store: shows progress