Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

QRun-IO/qqq

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

qqq

Metadata-driven application framework for building business software in Java.

For: Engineers building internal tools, admin panels, data management apps, or CRUD-heavy systems
Status: Stable (v0.27)

Why This Exists

Building business applications means writing the same patterns repeatedly: table views, forms, CRUD operations, user permissions, reports, scheduled jobs. Most frameworks make you implement these from scratch.

QQQ takes a different approach. You define your data model and business rules through metadata, and QQQ generates the working application - complete with API, dashboard, and backend logic.

This isn't a no-code tool. You write Java when you need custom behavior. But the boilerplate - the 80% that's the same across every app - is handled for you.

Features

  • Metadata-driven tables - Define entities once, get API + UI + validation
  • Backend modules - RDBMS, filesystem, MongoDB, S3 out of the box
  • Business processes - Multi-step workflows with state management
  • React dashboard - Material-UI admin interface, zero frontend code required
  • Multiple interfaces - REST API, CLI, Lambda handlers from same codebase
  • Extensible - Custom actions, widgets, and integrations when needed

Quick Start

Prerequisites: Java 17+, Maven 3.8+

<dependency>
    <groupId>com.kingsrook.qqq</groupId>
    <artifactId>qqq-backend-core</artifactId>
    <version>0.27.0</version>
</dependency>

<dependency>
    <groupId>com.kingsrook.qqq</groupId>
    <artifactId>qqq-backend-module-rdbms</artifactId>
    <version>0.27.0</version>
</dependency>

Define a table:

new QTableMetaData()
    .withName("order")
    .withBackendName("rdbms")
    .withPrimaryKeyField("id")
    .withField(new QFieldMetaData("id", QFieldType.INTEGER))
    .withField(new QFieldMetaData("customerId", QFieldType.INTEGER))
    .withField(new QFieldMetaData("status", QFieldType.STRING))
    .withField(new QFieldMetaData("total", QFieldType.DECIMAL));

QQQ generates: REST endpoints, dashboard screens, query capabilities, and validation.

Usage

Adding Backend Modules

<!-- PostgreSQL, MySQL, etc -->
<artifactId>qqq-backend-module-rdbms</artifactId>

<!-- Local/S3 file storage -->
<artifactId>qqq-backend-module-filesystem</artifactId>

<!-- MongoDB -->
<artifactId>qqq-backend-module-mongodb</artifactId>

Adding Middleware

<!-- HTTP server with REST API -->
<artifactId>qqq-middleware-javalin</artifactId>

<!-- CLI commands -->
<artifactId>qqq-middleware-picocli</artifactId>

<!-- AWS Lambda -->
<artifactId>qqq-middleware-lambda</artifactId>

Adding the Dashboard

See qqq-frontend-material-dashboard for the React admin UI.

Project Status

Maturity: Stable, used in production systems
Breaking changes: Major versions may break API; see release notes

Roadmap:

  • Java 21 migration
  • Improved widget system
  • Enhanced process tracing

Contributing

git clone git@github.com:QRun-IO/qqq.git
cd qqq
mvn clean install

See Developer Onboarding and Contribution Guidelines.

Documentation

Full documentation: QQQ Wiki

License

AGPL-3.0

About

Low-code application framework for Java. Define data models, business logic, and UI through metadata.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 9

Morty Proxy This is a proxified and sanitized view of the page, visit original site.