https://github.com/tbrugz/queryon
Engine for building REST APIs based on JDBC-compatible RDBMSs
https://github.com/tbrugz/queryon
database jdbc rdbms rest
Last synced: 5 months ago
JSON representation
Engine for building REST APIs based on JDBC-compatible RDBMSs
- Host: GitHub
- URL: https://github.com/tbrugz/queryon
- Owner: tbrugz
- License: agpl-3.0
- Created: 2020-07-22T14:59:33.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-11-25T18:55:50.000Z (7 months ago)
- Last Synced: 2025-11-29T00:39:27.846Z (7 months ago)
- Topics: database, jdbc, rdbms, rest
- Language: JavaScript
- Homepage:
- Size: 19.7 MB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
queryon
=======
[](LICENSE.md)
[](https://central.sonatype.com/artifact/org.bitbucket.tbrugz/queryon)
[](https://central.sonatype.com/repository/maven-snapshots/org/bitbucket/tbrugz/queryon/maven-metadata.xml)
[](https://oss.sonatype.org/content/repositories/snapshots/org/bitbucket/tbrugz/)
[](https://github.com/tbrugz/queryon/actions/workflows/maven.yml)
A REST-like API that follows the naked objects pattern. A bit like a 'naked database objects' API.
Depends on [sqldump](https://github.com/tbrugz/sqldump).
Database objects are defined by a properties file. See
[queryon.template.properties](qon-core/src/main/java/queryon.template.properties)
for more info.
[Apache Shiro](https://shiro.apache.org/) is used for handling authentication and authorization.
Permissions rules for objects and actions are available in [doc/permissions.md](doc/permissions.md).
More info about QueryOn:
* the [API spec](qon-web/src/main/webapp/doc/api.md)
* [Query features](qon-web/src/main/webapp/doc/queries.md)
* "the [index](qon-web/src/main/webapp/doc/index.md)" - in-app help index
-- [Telmo Brugnara](mailto:tbrugz@gmail.com)
building
--------
Dependencies: java 8+ ; maven 3.2.5+
Building: `mvn install`
See also: [BUILDING.md](BUILDING.md)
artifacts
---------
* snapshots repo (maven central): https://central.sonatype.com/repository/maven-snapshots/org/bitbucket/tbrugz/queryon/0.9-SNAPSHOT/maven-metadata.xml
demos - running
---------------
* **demo-minimal**: demo using H2 with default web interface ([qon-web](qon-web)) - see [demo/qon-demo-minimal/README.md](demo/qon-demo-minimal/README.md)
* **demo-dbn**: demo with 5 databases (H2, Mysql/Mariadb, Postgresql, Derby & SQLite) - see [demo/qon-demo-dbn/README.md](demo/qon-demo-dbn/README.md)
* **demo-static**: demo using H2 without web ui - see [demo/qon-demo-static/README.md](demo/qon-demo-static/README.md)
* **demo-pg**: demo using PostgreSQL with default web interface & standard [environment variables](https://www.postgresql.org/docs/current/libpq-envars.html) - see [demo/qon-demo-pg/README.md](demo/qon-demo-pg/README.md)
* **demo-anydb**: demo that can use any supported JDBC database (using default web interface) - see [demo/qon-demo-anydb/README.md](demo/qon-demo-anydb/README.md)
* **demo-springboot**: demo using [Spring Boot](https://spring.io/projects/spring-boot) - see [demo/qon-demo-springboot/README.md](demo/qon-demo-springboot/README.md)
* **demo-quarkus**: demo using [Quarkus](https://quarkus.io/) - see [demo/qon-demo-quarkus/README.md](demo/qon-demo-quarkus/README.md)
Note: *demo-minimal* & *demo-dbn* need maven ant tasks to populate database(s).
Install with `curl -o ~/.ant/lib/maven-ant-tasks-2.1.3.jar https://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar`
license
-------
[AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html), see [LICENSE.md](LICENSE.md) - except where otherwise noted
license - notable exceptions
----------------------------
* `/web/css/font-awesome/*` - [SIL OFL 1.1](http://scripts.sil.org/OFL) -
* `/web/map/js/jscolor/*` - GNU LGPL - ,
* `/web/js/ace/*` - BSD license -
* `/web/js/d3*` - BSD license -
* `/web/js/jquery-*` - MIT License -
* `/web/js/jquery.key.js` - MIT License -
* `/web/[js|css]/jsdifflib/*` - BSD license -
* `/web/js/markdown.js` - MIT License -
* `/web/[js|css]/nv.d3*` - Apache License 2.0 -
* `/web/[js|css]/prism.[js|css]` - MIT License -
* `/web/js/sigma/*` - MIT License -
* `/web/js/typeahead.bundle.js`- MIT License -
(**/web**: `/qon-web/src/main/webapp/`)