An interactive web-based SQL editor for Apache Flink. Write and execute Flink SQL queries in your browser against an embedded Flink runtime — no external cluster or infrastructure required.
- Browser-based SQL editor — Monaco Editor with SQL syntax highlighting and autocompletion
- Embedded Flink runtime — single-JVM execution, no cluster setup needed
- Batch and streaming modes — switch between execution modes per query
- Built-in data generators —
datagenand customfakerconnectors for realistic test data - Shareable fiddles — save and share SQL snippets via short URLs
- Example queries — 9 preloaded examples covering windows, joins, pattern matching, and more
- Security sandbox — blocked UDF injection, connector whitelist, execution timeouts
- Java 21 — required to build and run locally (Eclipse Temurin recommended)
- Docker (optional) — for running the app in a container
Build the project:
./gradlew buildRun the application:
./gradlew bootRunOpen http://localhost:9090 in your browser.
Pull and run the pre-built image from GitHub Container Registry:
docker run -p 9090:9090 ghcr.io/gamussa/flink-sql-playground:latestThe image supports both amd64 and arm64 architectures — works on Intel, AMD, and Apple Silicon.
Build and run with Docker Compose:
docker compose up --buildOpen http://localhost:9090 in your browser.
To stop: press Ctrl+C or run docker compose down.
./gradlew testSee docs/ARCHITECTURE.md for a detailed overview of the system design, request flow, session management, security model, and test structure.