RUAL Documentation

Core Concepts

Understand the fundamental concepts behind RUAL: blueprints, blocks, flows, storage, and how they all work together to build full applications without writing backend code.

What is RUAL?

RUAL is a no-code platform where users can develop ERP/CRM systems, apps, and websites. All backend logic is built by placing blocks on a visual blueprint — there is no way to write custom backend JavaScript. Frontend can be built with blocks as well, or with custom React components for more advanced use cases.

Developers manage their system within RUAL Studio, the web application accessible at rual.at. Here you can manage blueprints, traffic, queue, deployment, translations, templates, and base settings for your cluster.

Blueprints

A blueprint is an expansive canvas for designing workflows. You place blocks on this canvas and connect them to create distinct flows. Each blueprint is typically dedicated to a specific component — such as a page, modal, API, or a set of functions — similar to assigning a single class to a file in traditional coding.

Blueprinting supports collaborative development: multiple users can work on the same blueprint simultaneously. Team members can add comments, group blocks with custom titles, and copy blocks between blueprints. RUAL provides comprehensive audit logging of all blueprint modifications, like automatic git commits but with real-time collaboration.

Since version 13.0.7, blueprints have separate development and production modes. Saving a blueprint does not automatically deploy it to production — you must explicitly deploy through the deployment menu.

Blueprint Introduction Learn more about navigating blueprints, context menus, and saving changes.

Blocks

Blocks are the building units of every flow in RUAL. There are over 1000 pre-built blocks available, covering everything from array manipulation and date operations to HTTP requests, Discord integrations, file processing, and more. Each block has input pins (in-pins) and output pins (out-pins) that define what data goes in and what comes out.

Pin Types

Pins are typed, meaning you can only connect pins of compatible types. The most common pin types you will encounter are:

Pin Type Description
flow Controls the execution order between blocks. Flow pins determine when a block executes.
value A string value, such as a name, email, or identifier.
number A numeric value.
condition A boolean value: true or false.
object A JSON object containing key-value pairs.
array An ordered list of values.
date A timestamp value used for date and time operations.
file A file reference for file upload and processing operations.
query A search query used with storage operations.
mutations A set of field changes used when creating or updating documents in storage.
storage A reference to a specific storage (database) in your cluster.
state A UI state element used in frontend page rendering.
user A reference to a user in the system.
Browse All Blocks Explore the full library of over 1000 blocks organized by group.

Flows

A flow is a group of connected blocks within a blueprint. Each flow has a specific starting block that determines its type and purpose. A single blueprint can contain multiple flows of different types.

Flow Types

The following flow types exist in RUAL, each starting with a specific block:

Flow Type Starting Block Purpose
Page state_page Builds a user-facing page with UI components. Pages are accessible via URLs and can be public or restricted with scopes.
Function trigger_custom_function Creates a reusable function that can be called from other flows or blueprints. Functions are private by default.
API on_startup_register_uri_{method} Registers an API endpoint (GET, POST, PUT, PATCH, DELETE, or file upload) that can be called by external services or your frontend.
Modal state_flow_modal Creates a pop-up modal that can be shown on a page.
Storage Event storage_event Executes when a document is created, updated, or removed in a specific storage. The developer selects the event type and storage within the block.
Repeating Event schedule_repeating_event Executes at a recurring interval set by the developer, similar to setInterval() or crontab.

How Flows Work Together

Different flow types work together to form a complete application. A typical pattern might look like this:

  • A Page flow renders a form where users input data.
  • When the user submits, a Function is called to validate the data and create a document in storage.
  • A Storage Event triggers when the document is created, sending a confirmation email in the background.
  • An API endpoint allows external services to query the stored data.
  • A Repeating Event runs every hour to generate statistics and cache them in Redis.

Functions can be called from any flow type using the function_custom_execute block. Public functions can be called across blueprints, while private functions are only accessible within their own blueprint.

Storage

RUAL includes a built-in, enterprise-scale storage system with a full-text search engine. Storage is JSON-based and schema-less, meaning you do not need to predefine data structures. However, it does not support relationships between storage entities, so you should include all necessary data within each document (denormalization).

Documents are updated using mutations, which is a transaction-based system that ensures updates are processed sequentially. This allows safe use of counters and array operations without race conditions.

Storage Documentation Learn about document metadata, updates, removal, and expiry.

Activation and Deployment

Before any pages, APIs, modals, or events in a blueprint become active, you must activate the blueprint using the Activate button in the top bar. By default, all elements are inactive until explicitly activated.

Since version 13.0.7, there is a clear distinction between development and production. Saving changes keeps them in development mode. To make them available to public users, you must deploy the blueprint to production.

Getting Started Tip If you are new to RUAL, start by reading the Blueprint Introduction to learn how to navigate and work with blueprints, then explore the Tips & Tricks for productivity shortcuts.

Next Steps

Block Execution Learn how blocks execute, including parallel flows, dataflow, and error handling. Storage Guide A hands-on tutorial for creating documents, searching, and data modelling. Browse Blocks Explore the full library of over 1000 pre-built blocks. Cluster APIs Access 40+ REST APIs for managing your cluster.