Skip to main content

Application Building Blocks

The RASP Designer allows users to easily bootstrap a new application using a guided visual interface. This section walks through the creation of a sample application — “Travel App”

Creating a New Application​

Overview:

After logging into the platform, users are presented with a dashboard showing existing apps. You can create a new application from here and move directly into designing it using the visual builder.

Process:

  • Navigate to the Dashboard after login.
  • Enter the desired app name (e.g., Travel App) and confirm.
  • Click "Create App".
  • You’ll be redirected to the Layout tab of the Designer to begin structuring your app.
  • Other tabs like Data, user and Layout are also available for building the app holistically.

Fig-2: - Dashboard

Creating Resources (CRUD)​

Overview:
Resources are the foundational data models that define the structure of your application's backend entities. This section allows you to configure these models, defined field

1. How to Define Models​

Navigate to the Data tab in the top navigation bar.

  • Click on “Add Resource” (+ icon) to begin creating a new model (e.g., Trip, Booking, User).
  • Provide a resource name, which acts as the entity's identifier across the system.
  • You can also edit the defined fields of the resource by clicking on “edit icon” of respective resource
  • To delete the defined resource, click on "delete icon” of respective resource.


Fig-3: - Adding Resource

2. Adding Fields

  • After entering resource name, click “Add” button to define a fields for the defined resource.
  • Provide a field name, which becomes an attribute in the database.
  • Choose whether this field is required or optional.
  • After entering the fields, click on “+” icon to add on.
  • You can add multiple fields representing different attributes of the resource.


Fig-4: - Adding Resource fields

3. Setting Field Types and Validations​

  • Each field can be assigned a data type (e.g., string, long, Boolean, date).
  • Configure validation rules such as:
    • Required
    • Is Enum
    • Have foreign field
  • These validations ensure data integrity both at the front end and backend.
  • By clicking “save” button the resource is saved to database.


Fig-5: - Setting fields

4. Adding Pages​

  • Pages can be managed from the Layout tab using the Pages dropdown.
  • Initially “page 1” is the current page.
  • Click “Add New Page” to create a new page.
    • Pages are automatically named in sequential order (e.g., Page 2, Page 3, etc.).
    • The newly added page becomes the currently selected one.
  • The Pages dropdown allows users to:
    • View all created pages.
    • Select a page to switch to and design on.
    • Rename individual pages.
  • Each page listed in the dropdown includes an edit icon.
    • Clicking the icon allows the user to rename the page.
    • After Renaming, click on “Set and Save” button. It saves the application with the renamed page.
  • The Actions dropdown in the Layout tab includes a Save option.
  • On clicking “Save” the application with all pages are save to database.
  • This functionality enables multi-page design support and ensures all page-specific configurations are preserved.


Fig-6: - Adding pages, renaming page and Actions to save/download

5. Using Drag-and-Drop Components​

  • UI components can be added to pages via a drag-and-drop interface.
  • Commonly available components include:
    • Text Fields
    • Dropdowns
    • Tables
    • Buttons
    • Containers
    • Date Pickers
    • Checkboxes and more
  • Components are listed in the Components Panel on the left side of the layout.


Fig-7: - Component List

Adding Components

  • To add a component:
    • Drag the desired component from the panel.
    • Drop it onto the active canvas.
  • Once a component is dropped. It becomes part of the current page layout.


Fig-8: - Adding components

Editing Components

  • When a component is selected on canvas the Edit Panel appears on the right side.
  • The Edit Panel allows:
    • Setting or editing labels.
    • Deleting the component.
    • Applying custom styles using:
      • Bootstrap classes
      • Custom CSS properties
  • This enables visual customization directly within the UI.


Fig-9: - Editing the component

Removing Components

  • To remove a component:
  • Select it on the canvas.
  • Use the delete option in the Edit Panel.
  • The design updates instantly after removal.


Fig-10: - Deleting Component

6. Setting Component Properties

Each component on the canvas can be customized through the Edit Panel, which appears on the right side when a component is selected.

The Edit Panel provides access to essential configuration options that control the component’s content, appearance, and behaviour.

Available Configuration Options:

Custom Component

  • Select the component and enter the name of the custom component.
  • This component can be reusable to drag from component panel and drop to canvas

Bootstrap Styling

  • Apply predefined Bootstrap classes for quick and consistent styling.
  • Supports classes like btn-primary, form-control, text-center, etc.

CSS Styling

  • Enter custom CSS styles (e.g., color: red; font-size: 16px) for fine-grained visual control.
  • Can be used alongside or independently of Bootstrap.

Editable Properties

  • Modify content-related attributes based on the component type, such as:
    • Text (e.g., button label)
    • Placeholder (e.g., input hints)

Component-Specific Options

  • For components like Dropdowns and Navbars, additional features are available:
    • Add Items: Insert options or menu items dynamically
    • Edit Items: Modify existing entries
    • Remove Items: Delete entries as needed

Delete Component

  • Removes the selected component from the canvas entirely.
  • Ensures quick cleanup of unnecessary or misplaced elements.


Fig-11: - Editable properties

7. Using CRUD on resources in UI​

  • Binding UI to backend resources

The platform enables seamless integration of backend data resources into the UI through drag-and-drop, allowing users to configure Create, Read, and Update operations directly within the layout builder.

Resource Components in the UI

  • In the Layout tab, the left panel includes a "Resources" dropdown under the components list (alongside Text, Placeholder, Button, etc.).
  • This dropdown displays the list of resources previously created in the Data tab.
  • To use a resource:
    • Drag the desired resource onto the canvas like any other component.

Fig-12: - Resource Components in the UI

Configuring CRUD Operations

  • Once a resource component is added to the canvas and selected:
  • The Edit Panel appears on the right.
  • A dropdown inside the panel allows you to choose between:
    • Create – to generate a form for inserting new records.
    • Read – to display existing records from the backend.
    • Update – to allow editing of existing data.
  • These options configure how the component will behave with the backend once the app is downloaded.

Fig-13: - Configuring CRUD Operations

  • Auto-generating forms from models

When the application is downloaded, the system automatically generates full-fledged forms based on the selected resource and CRUD operation.

Field Mapping

  • Each field in the form corresponds to a property in the backend model.
  • Data types are respected (e.g., strings generate text inputs, Booleans generate checkboxes, etc.).

Pre-applied Validations

  • Validation rules defined in the model (like required, enum, or foreign key references) are automatically reflected in the form UI.
  • Prevents invalid input before data reaches the backend.

Consistent Styling

  • Forms maintain Bootstrap and CSS styles configured in the Edit Panel.
  • Ensures uniform look and feel across all resources and components.
  • Supports customization after generation if further refinement is needed.

Ready-to-Use Integration

  • Once exported, forms are fully functional and can be deployed as-is.
  • No manual coding required to wire forms to backend APIs.

Fig-14: - Auto-generating forms from resources