Journey to SQL Master
An SQL practice platform powered by knowledge-graph gamification and adaptive question generation
2026.07 - 2026.08Overview
An SQL practice platform built on a knowledge-graph lighting-up mechanism and an adaptive question-generation algorithm. It comes with a 58-question practice bank (basic / advanced multiple-choice) plus a 42-question exam bank (classic Nowcoder-style SQL fill-in-the-blank questions), covering syntax fundamentals, joins, subqueries, aggregation, window functions, and more. Training progress is visualized through the knowledge graph.
Key Features
- Three-level knowledge-graph lighting: knowledge points organized as leaf / branch / root; answering a question correctly lights up the node, visualizing progress
- Adaptive question generation: each round serves a 5-question sequence of "3 multiple-choice + 2 fill-in-the-blank"; cumulative correct answers across practice pools light up nodes (idempotent persistence)
- SQL judging engine: SQL normalization, read-only single-statement validation, sandboxed execution, and result-set comparison
- Complete learning loop: level diagnosis → adaptive practice → mistake collection → graph lighting → advanced topic selection
- Account system: registration / login / GitHub OAuth2 one-click sign-in (optional) / session management / admin panel
- Offline deployment: framework-free frontend with localized chart assets; one-click launcher auto-detects Python and starts the service
Tech Stack
- Backend: Python / Flask / SQLite
- Frontend: vanilla HTML / CSS / JS, ECharts (localized assets)
- Judging: in-house SQL normalization + sandboxed execution and comparison
- Testing: pytest (144 cases all green)
Highlights
- 58-question practice bank + 42 Nowcoder-style exam questions across 29 knowledge tags
- In-house SQL judging engine: normalization, single-statement validation, sandboxed execution, result-set comparison
- Full question bank backed up under
data/for external review and rebuilding