Skip to content
KartoffelspaltPublic

About

NodeQL is a visual, Scratch-inspired SQLite query builder that allows non-developers to construct database queries without syntax errors using drag-and-drop blocks. Slogan: SQLite but visual!

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

119 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NodeQL

GitHub Release GitHub License GitHub Sponsors

NodeQL is a local-first desktop application for learning, designing, and running SQLite with visual blocks. Projects, settings, plugins, and databases remain on the user's device.

Release status: public preview. Linux x64, macOS, and Windows x64 are the supported release targets. Published binaries are currently unsigned; see Releasing before describing a build as generally available.

A browser preview can also be built from source. See Web preview for build instructions and session-storage limitations.

Latest release: NodeQL v0.4.3 adds visual SQLite functions, column aliases, fullscreen and exportable result tables, a refined workspace, and fullscreen settings.

Teachers can create and share guided SQLite exercises with the NodeQL Workshop Admin. The release page provides downloads and teaching materials.

Demo

NodeQL Visual Scratch-Style Database Queries Demo

App-Gallery

NodeQL Dark Mode
Dark Mode
NodeQL White Mode
White Mode
NodeQL interactive tutorial
Table Browser
NodeQL plugin blocks
Workshop

Additional screenshots and contribution guidance are available in docs/screenshots.

Features

  • Visual SQLite blocks with snapping, editing, compilation, and execution.
  • SQLite function catalog, including visual Unix timestamp to date/time conversion with datetime(..., 'unixepoch').
  • Per-column SELECT aliases, including multiple aliases in a single query and safer handling of same-named columns in joins.
  • Fullscreen query results with CSV, JSON, and TSV export.
  • A resizable, animated three-area workbench with live database preview.
  • Fullscreen settings organized into Accessibility, Motion, Display, and Personalization.
  • Interactive NodeQL learning workshop with twelve lessons, guided exercises, knowledge checks, and saved browser progress.
  • Isolated workshop mode with sixteen practical workspace missions: a large toolbar button transforms the app into a dedicated learning area where learners drag and connect real nodes, see generated SQLite live, receive structural feedback, resume saved paths, and learn through Simple or Advanced Mode without changing the active project workspace.
  • Local SQLite database access without a separate system CLI.
  • Graphical table creation in the database browser's Simple Mode and direct CREATE TABLE editing in Advanced Mode.
  • Versioned JSON project files, recent projects, per-project autosave, and guided upgrades of supported legacy project files with automatic backups.
  • Declarative Plugin SDK v2 with visual blocks, external data-source adapters, SHA-256-verified community repositories, validation, and compatibility checks.
  • English fallback with installable, validated community language packages.
  • Offline use after installation; no account, analytics, or cloud dependency.
  • GitHub-based update checks, community translation contributions, and AI-generated language packs created during desktop releases.

Privacy and security

NodeQL does not include analytics, advertising, account tracking, or automatic crash reporting. The optional network behavior is documented in PRIVACY.md. Vulnerabilities should be reported according to SECURITY.md, not through public issues.

Plugin API v2 is declarative. It does not execute third-party Dart code, native libraries, scripts, or executables. Translation packages are restricted to approved HTTPS hosts and verified by schema, size, metadata, placeholders, and SHA-256.

Example plugin repository

NodeQL can install community plugin catalogs from static HTTPS URLs. The official example repository can be added in Settings > Manage Plugins > Repositories:

https://kartoffelspalt.github.io/nodeql-example-plugins/repository.catalog.json

The repository demonstrates the public catalog format and SDK example plugins.

Development

Requirements:

  • Flutter 3.44.1
  • Dart compatible with SDK ^3.9.0
  • Native Flutter desktop build dependencies for the target platform
flutter pub get
flutter gen-l10n
dart format lib test tool
flutter analyze
flutter test
dart run tool/validate_translations.dart
flutter run -d macos

Use windows or linux instead of macos on the corresponding platform. On Linux, file dialogs require zenity, kdialog, or qarma on PATH. The Debian package installs one of these as a dependency; install one separately when using the tarball.

Increment the build number before local runs

From the repository root, run the following once per shell session:

source tool/flutter_with_build_number.sh

Afterwards, use flutter run -d macos as usual. The wrapper increases only the +BUILD part of pubspec.yaml before every flutter run invocation and then forwards all arguments to Flutter. It does not affect flutter test, flutter build, or other Flutter commands. The changed pubspec.yaml remains an intentional local modification; commit or revert it as appropriate.

Project structure

  • lib/core: application bootstrap, themes, and update checks
  • lib/localization: runtime catalogs, cache, validation, and locale state
  • lib/domain: project and block models
  • lib/data: JSON persistence and defaults
  • lib/engine: runtime, block, workspace, stage, and extension contracts
  • lib/features: workbench presentation and feature state
  • docs/plugins: external plugin SDK and schema documentation
  • docs/localization: translation contribution and package documentation
  • test: unit and widget tests

Community

NodeQL source code is available under the MIT License. Runtime translation contributions are provided under CC BY 4.0. The NodeQL name and logo are not licensed under the MIT License; see TRADEMARKS.md.

Sponsoring & Support

NodeQL is developed as an independent open-source project. If NodeQL saves you time, helps you learn SQL, or is used in your workflow, consider supporting its development:

  • GitHub Sponsors: Sponsor this project
  • Star the Repository: Help others discover NodeQL by giving it a ⭐ on GitHub!

Star History

Star History Chart

About

NodeQL is a visual, Scratch-inspired SQLite query builder that allows non-developers to construct database queries without syntax errors using drag-and-drop blocks. Slogan: SQLite but visual!

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages