Skip to content

gAmUssA/flink-sql-playground

Repository files navigation

Flink SQL Playground

Smoke Test Docker Build Java 21 Spring Boot Apache Flink License: MIT

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.

Features

  • 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 generatorsdatagen and custom faker connectors 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

Prerequisites

  • Java 21 — required to build and run locally (Eclipse Temurin recommended)
  • Docker (optional) — for running the app in a container

Local Java Build

Build the project:

./gradlew build

Run the application:

./gradlew bootRun

Open http://localhost:9090 in your browser.

Docker

Quick start (no build required)

Pull and run the pre-built image from GitHub Container Registry:

docker run -p 9090:9090 ghcr.io/gamussa/flink-sql-playground:latest

The image supports both amd64 and arm64 architectures — works on Intel, AMD, and Apple Silicon.

Build locally

Build and run with Docker Compose:

docker compose up --build

Open http://localhost:9090 in your browser.

To stop: press Ctrl+C or run docker compose down.

Running Tests

./gradlew test

Architecture

See docs/ARCHITECTURE.md for a detailed overview of the system design, request flow, session management, security model, and test structure.

About

Browser-based Flink SQL playground with session management, security validation, and dual batch/streaming execution

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors