Skip to content

Latest commit

 

History

History
228 lines (172 loc) · 12.2 KB

README.md

File metadata and controls

228 lines (172 loc) · 12.2 KB
MetaForge

MetaForge

Integrated software for data transformation, integration, and visualization


License version

Docker Automated build Docker Image Size (latest by date) Docker Pulls

GitHub commit activity GitHub contributors GitHub last commit

What is MetaForge?


MetaForge is integrated software for data transformation, integration, and visualization. It supports a wide variety of data sources — relational databases, NoSQL databases, big data engines, message queues and file systems — and lets you manage multiple data sources, query and transform data, build datasets, and create charts and monitoring views.

Features


  • Data source management — connect, test and manage 50+ data sources from a single console
  • SQL query console — IDE-style editor with syntax highlighting, formatting, execution history and export
  • Datasets — build reusable datasets from tables or ad-hoc queries, preview data and define column metadata
  • Visualization — drag-and-drop dashboards with tables, pies and more chart types
  • Reports — schedule and share reports
  • Workflows — chain data jobs into repeatable workflows
  • File storage — read and write files through Aliyun OSS, Amazon S3, HDFS, local storage and more
  • Notifications — DingTalk, email and other channels for job and system events
  • AI assistant — chat with your data through configured AI providers
  • Plugin architecture — every connector, converter and storage backend is a hot-loadable plugin
  • Administration — users, roles, menus and runtime configuration with fine-grained permissions

Requirements


Dependency Version
JDK 21
Maven 3.9+ (wrapper ./mvnw included)
Node.js 20
pnpm 9.13.2

Getting Started


Must-read for users: be sure to execute the following command after cloning the code locally

cp configure/git-hook/* .git/hooks
chmod 700 .git/hooks/*

Run the backend (development)

Run the main class org.devlive.metaforge.server.MetaForge (module core/metaforge-server) from your IDE. The server starts on http://localhost:9096. On first launch the setup wizard guides you through selecting the metadata database (embedded H2 by default, or MySQL / PostgreSQL / SQL Server / Oracle) and creating the administrator account.

Run the frontend (development)

pnpm install
pnpm --filter metaforge-web dev

The web console starts on http://localhost:3001 and proxies API calls to the backend.

Build for production

# Frontend
pnpm --filter metaforge-web build

# Backend + distribution package (the server serves the built frontend
# from core/metaforge-web/dist; the tarball lands in dist/)
./mvnw -T1C clean package -DskipTests

Docker


docker pull devliveorg/metaforge:latest
docker run -d --name metaforge -p 9096:9096 devliveorg/metaforge:latest

Or unpack the distribution built locally (dist/metaforge-server-2026.0.0-bin.tar.gz) and run bin/startup.sh.

Project Structure


metaforge
├── client                        # Command line client
├── configure                     # Default configuration and plugin manifests
├── core
│   ├── metaforge-captcha         # Captcha generation
│   ├── metaforge-common          # Shared utilities and enums
│   ├── metaforge-condor          # Scheduling integration
│   ├── metaforge-server          # Spring Boot server (REST API entry point)
│   ├── metaforge-service         # Domain services and persistence
│   ├── metaforge-security        # Security configuration
│   ├── metaforge-sql             # SQL statement builders
│   ├── metaforge-spi             # Plugin SPI contracts
│   ├── metaforge-web             # Vue 3 + Tailwind web console
├── convert                       # Data converters (JSON, CSV, XML, ...)
├── driver                        # Database drivers (Redis, MongoDB, ...)
├── executor                      # Execution engines
├── fs                            # File storage plugins (OSS, S3, local, ...)
├── lib                           # Shared libraries (HTTP client, logging, shell)
├── notify                        # Notification channels (DingTalk, ...)
├── parser                        # SQL parsers (MySQL, Trino, ...)
├── plugin                        # Data source plugins (50+ connectors)
├── scheduler                     # Job scheduling
└── shaded                        # Shaded third-party integrations

Supported Connectors


MetaForge can query data from any SQL-speaking datastore or data engine (ClickHouse, MySQL, Presto and more).

Here are some of the major database solutions that are supported:

ClickHouse Redis PostgreSQL Presto MySQL Hive Kyuubi Druid ElasticSearch Trino Kylin Ignite IBM DB2 MongoDB Dremio MonetDB Phoenix H2 SqlServer Oracle CrateDB DaMeng TDengine Impala OceanBase Neo4j IoTDB Snowflake YDB Zookeeper DuckDB Aliyun OSS Apache Kafka CeresDB GreptimeDB QuestDB Apache Doris StarRocks Hologres Apache Hdfs Apache Pinot Apache Cassandra MatrixOne ScyllaDB ParadeDB Timescale Apache Solr InfluxDB DolphinDB

Documentation


Extended documentation for MetaForge

Join Us


Please visit Issues 950

Thank you


Jetbrains App Store Vue 3

Stargazers over time


Star History Chart

Contributors