Skip to content

Latest commit

 

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DataPoly

Language: 简体中文 English

CI License: BSD-3-Clause

A convenient tool that transforms SQL operations into RESTful APIs

DataPoly is an open-source SQL/DSL data access middleware: pick a data source, configure SQL or scripts, and set a path to create RESTful APIs — no backend code required. It supports 20+ databases including mainstream Chinese domestic ones, with MyBatis dynamic SQL, Groovy scripting, token authentication, Sentinel flow control, Hazelcast/Redis caching, online API docs, and LLM MCP services.

Quick Start With Docker Compose

sh ./build.sh
sh ./docker-maven-build.sh
cd build-docker/install 
docker compose up -d

open http://127.0.0.1:8091/#/login then enter user admin and password DataPoly@123456.

Building DataPoly from Source

Prerequisites for building DataPoly:

  • Unix-like environment (we use Linux, Mac OS X; Windows users can run build.cmd directly)
  • Git
  • Maven (we require version 3.6 or above)
  • Java (version 25, LTS)
  • Docker (only used to build the management UI — no local Node.js required)

Basic Build Instructions

First, clone the repository:

git clone https://github.com/camilesing/datapoly.git
cd datapoly

Then, choose one of the following commands based on your environment:

For Linux / Mac OS X (Standard Release)

sh ./build.sh
# if you want debug something
sh ./build.sh debug

For a Containerized Maven Build (Docker)

sh ./docker-maven-build.sh

For Windows

build.cmd

The build process may take several minutes, and the first build downloads all Maven dependencies. When it completes, the release package is generated at target/datapoly-release-<version>.tar.gz.

Notes

  • Make sure your JAVA_HOME environment variable points to a JDK 25 installation — the build produces Java 25 bytecode
  • build.sh (and docker-maven-build.sh) first assemble optional local extensions (build-extension.sh, a no-op unless the datapoly-extension/ directory exists) and build the management UI inside a node:24-alpine container (build-ui.sh), then run mvn clean package -DskipTests
  • A bare mvn package does not build the UI — the resulting jar contains no management UI
  • Passing debug to build.sh / docker-maven-build.sh produces a devtools-enabled debug UI build, for local development only
  • To run the full test suite (the same command CI uses): mvn test -pl datapoly-test -am — all tests are centralized in the datapoly-test module

Developing DataPoly

We recommend IntelliJ IDEA for developing the DataPoly codebase.

Minimal requirements for an IDE are:

  • Support for Java 25 and Lombok annotation processing
  • Support for Maven

IntelliJ IDEA

The IntelliJ IDE supports Maven out of the box; make sure the Lombok plugin is enabled and annotation processing is turned on.

Check out our CONTRIBUTING.md guide and the Build & Deployment documentation for detailed instructions.

Documentation

Contribute & Security

About

An data service platform that turns SQL or Groovy scripts into RESTful APIs and MCP tools, with many data sources and built-in auth, rate limiting, firewall, and version rollback.数据服务平台:把 SQL / Groovy 脚本一键发布为 RESTful API 或 MCP 工具,支持多种数据源,内置鉴权、限流、防火墙与版本回滚。

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages