Metadata-driven applications
Define tables, fields, relationships, apps, and processes in Java. Manage the database schema explicitly.
Build data applications with Java metadata, backend actions, and reusable process steps. Evaluate QQQ 4.0 with the source sample and verify your application against the exact candidate.
Reuse framework facilities while keeping application behavior explicit. Validate the exact release with your data, identity provider, and workflows.
Define tables, fields, relationships, apps, and processes in Java. Manage the database schema explicitly.
Select and configure an authentication provider. Test login, logout, session handling, and denied access.
Use relational, MongoDB, SQLite, file-system, S3, or REST modules. Supported operations vary by backend.
Compose process metadata with Java backend steps. Implement business rules and recovery behavior explicitly.
Configure the permission rules for your application and test them across queries, processes, and custom entry points.
Use dashboard 0.41.0 with compatible table, app, process, and widget metadata. Review the sample UI.
Configure audit-related facilities and verify the events, actor context, retention, and access rules your application needs.
Use the selected middleware/API module and its actual contract. Automatic GraphQL generation is outside this release scope.
Configure reports and supported export formats for your backend, then test representative data and access restrictions.
Define fields and map a table to a configured backend. Register it in your QInstance, configure permissions, and use the framework actions and dashboard.
QTableMetaData person = new QTableMetaData()
.withName("person")
.withLabel("People")
.withBackendName("rdbmsBackend")
.withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withField(new QFieldMetaData("name", QFieldType.STRING)
.withIsRequired(true));This fragment assumes the QQQ imports and an existing backend. The table guide and runnable sample show the surrounding setup.
qqq's layered architecture keeps your code clean while providing powerful capabilities at every level.
Auto-generated Admin UI or your custom frontend
Configured middleware and application API contracts
Actions, processes, validation, auth, audit
Your schema definitions drive everything above
Pluggable data sources and integrations
Tables, fields, relationships
Configured actions, validation, and permission checks
Register and verify the selected API module
Dashboard from application metadata
Start with one table and one process from your application. Compare the amount of custom behavior, backend compatibility, permission tests, and operational work against your requirements. Development speed and production readiness depend on that workload.
Build and test the first application