Skip to content

Repository files navigation

Lite-SQLearner

Lite-SQLearner

An interactive, gamified SQL learning desktop application — practice SQL right in your browser with zero setup.

Latest ReleaseBuild StatusLicenseCommunity linux.do

English | 中文


✨ Features

  • 🎯 Level-based Challenges — Progress through structured SQL levels from beginner to advanced
  • 📖 Built-in Tutorials — Each level comes with a tutorial explaining the SQL concepts
  • 🏗️ In-browser SQL Engine — Powered by sql.js (SQLite compiled to WebAssembly), no server required
  • Instant Result Validation — Write queries, run them, and get immediate feedback
  • 🛠️ SQL Playground — Free-form SQL practice area to experiment with any query
  • 🤖 AI Assistant — Integrated AI chat sidebar supporting OpenAI, Anthropic, and Google Gemini APIs
  • 🎨 Dark / Light Theme — Toggle between dark and light modes
  • 📦 Desktop App — Built with Electron for a native experience on Windows, macOS, and Linux

📸 Screenshots

Click to view screenshots
Home PageLight Theme
HomeLight
Dark ThemeSQL Playground
DarkPlayground

🛠️ Tech Stack

LayerTechnology
FrameworkVue 3 + TypeScript
DesktopElectron
UI ComponentsAnt Design Vue
Code EditorMonaco Editor
SQL Enginesql.js (SQLite via WebAssembly)
MarkdownByteMD
State ManagementPinia (with persisted state)
Build ToolVite
AI IntegrationOpenAI / Anthropic / Google Generative AI SDKs

🚀 Getting Started

Prerequisites

Development

# Install dependencies
yarn install
# Start the web dev server
yarn dev
# Start in Electron dev mode
yarn dev:electron

Build

# Build the Electron app (generates installers in the release/ directory)
yarn electron:pack

The packaged application will be output to the release/ directory.

📁 Project Structure

lite-sqlearner/
├── electron/ # Electron main & preload scripts
├── public/ # Static assets (logo, WASM binary)
├── src/
│ ├── components/ # Vue components (editor, AI sidebar, etc.)
│ ├── configs/ # App configuration
│ ├── core/ # Core logic (SQL engine, AI providers, etc.)
│ ├── levels/ # SQL level definitions and tutorials
│ ├── pages/ # Page views (Index, Levels, Playground)
│ └── main.ts # Vue app entry point
├── doc/ # Screenshot assets
├── scripts/ # Build helper scripts
└── package.json

🤝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

About

Learn SQL by yourself. Step by step. 闯关交互式SQL自学,从零基础开始进阶,祝你一路过关斩将!

Topics

Resources

Stars

33 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages