This app helps students in the Intro to Python course build a focused, printable cheat sheet from real course/exam topics.
- Total topic cards:
28 - Exam-topic cards in default deck:
21 - Exam-topic key points:
198 - Key points with optional detail blocks:
198 - Optional detail blocks (examples/tables/explanations):
247
- Students preparing for the course exam/midterm
- Anyone who wants a compact, personalized review sheet from class materials
- Shows topic cards you can keep or reject quickly
- Lets you choose which key points and code examples you want
- Provides optional extra detail under key points (mini examples, tables, explanations) that you can include or skip
- Builds a 2-page A4 cheat sheet preview
- Lets you drag/resize cards in the preview
- Lets you edit/delete preview content with undo support (
Undo EditorCtrl/Cmd+Z) - Uses compact icon controls in preview to maximize usable content space
- Lets you lock/unlock preview cards to prevent accidental drag/resize while editing
- Prints from a generated PDF (not a direct browser-page print)
- Exports your final sheet via PNG or PDF
- Shows a support prompt after PDF export/print
- Saves your progress in your browser so refresh does not lose work
Editing view (compact with hover controls):
Export snapshot view (same geometry, chrome removed):
- Open the app.
- Swipe or click to keep/reject topics.
- For kept topics, pick the key points/examples you want.
- Expand optional key-point details and include only the ones you need.
- Open preview and arrange cards on the A4 pages.
- Export as Print/PNG/PDF.
python3 -m http.server 8000
# then open http://localhost:8000No npm install is required.
make validateThis runs JS/Python syntax checks, file-length policy checks, and test suites.
Browser regression smoke test:
make smoke-uiGemini automated UI QA protocol:
make gemini-ui-protocolThis runs multi-step Gemini micro-audits with strict JSON outputs on top of Playwright-generated layout probes and screenshots.
Release blocking is based on deterministic hard checks (summary.release_gate_status); Gemini-only visual findings remain advisory and are still reported.
Exhaustive layout stress scenarios:
make stress-layout-uiGemini model capability benchmark:
make gemini-benchmarkGemini prompt-variant experiments (code delegation reliability):
make gemini-prompt-experimentsGemini model health probe (availability/quota sanity check):
make gemini-healthQuality dashboard (single aggregated status report):
make quality-dashboardDefault "leave-it-better" pass:
make leave-betterUI-impacting task pass:
make leave-better-uiMaintenance audit only:
make maintenance-auditThis emits data/test_reports/maintenance_audit.json and checks:
- line-length hygiene (soft target: 300, hard fail: 500)
- TODO/FIXME/HACK marker drift
- topic-card duplicate-risk signals
- study DB structural/source health
- Gemini model alias centralization
- maintenance-doc system presence
Maintenance protocol + roadmap/spec workflow:
python3 scripts/add_week_material.py --week-file data/templates/week_template.json- The week payload is curated through
gemini-clibefore integration. - The script now runs payload preflight checks (including notebook cell index collisions and question-option validity).
- By default, listed
sourcesmust exist in the repo; use--allow-missing-sourcesto bypass. - Use
--dry-runto generate curation+validation output without modifyingdata/study_db.json. - A curation report is written to
data/curation_reports/. - The canonical database is
data/study_db.json.
- Topic cards are built from lectures, notebooks, and exam material.
- Exam-topic key points/examples are curated to keep important exam-relevant items.
- Curation is evidence-driven and does not use fixed per-topic caps.
- Some details may be general Python clarifications kept for usefulness, even if a matching source snippet is indirect.
- Content can still have occasional mistakes or overlap, so please report anything suspicious.
Please submit an issue in this repository’s GitHub Issues tab.
Include:
- clear title
- what you expected vs what happened
- exact steps to reproduce
- topic/card name (if relevant)
- browser + OS
- screenshot or screen recording (if possible)
- for content issues: paste the exact topic name + key point/example text and explain why it is wrong (ideally with course reference)
- Lost progress: check whether browser storage was cleared/private mode used.
- Export layout odd: refresh preview and re-position cards before exporting.
- Export/print blocked: browser pop-up settings may block generated PDF tabs/dialogs.
- Counts look off: check active filters (search/min hits/week filters).
index.html- page structure and script/style boot orderapp/- split frontend logic modules (ordered classic scripts)styles.css+styles/- import root + split style modulesmaterials/- raw lecture/notebook/exam source filesdata/study_db.json- canonical structured study databasedata/templates/week_template.json- input contract for new-week ingestionpipelines/- split Python generation/enrichment modulespipelines/shared/model_defaults.py- one source of truth for Gemini model aliases (fast gemini agent,smart gemini agent)topic_cards.json- topic data used by the UIscripts/check_file_lengths.py- max-500-lines policy enforcementscripts/maintenance_audit.py- "leave-it-better" audit + report generationscripts/smoke_ui_playwright.js- headless browser smoke regression scriptscripts/stress_layout_playwright.js- exhaustive layout stress testing scriptscripts/gemini_test_protocol.py- full automated Gemini UI QA protocolscripts/gemini_model_health.py- model availability/quota health checksscripts/quality_dashboard.py- aggregated project quality status from test reportstests/- automated validation testsdocs/ARCHITECTURE.md- module boundaries and responsibilitiesdocs/MAINTENANCE_PROTOCOL.md- mandatory self-cleaning workflowdocs/GEMINI_PLAYBOOK.md- dated Gemini usage strategy, prompting patterns, and supervision policydocs/ROADMAP.md- tracked larger issues/improvementsdocs/specs/- feature/problem specs tied to roadmap itemsdocs/TESTING.md- validation workflow and command referencedocs/curation/TOPIC_MERGING_GUIDELINES.md- curation workflow for maintainersdocs/data/DATASET_INFO.md- dataset structure referenceAGENTS.md- technical handoff for coding agents/contributors

