Development Workflow

Building application using Trillo Workbench is a breeze. It is a platform to create an application in two steps - 1) define data model as JSON, 2) write business logic as serverless functions.
A backend of an application is about accessing and updating data while applying certain business rules. Therefore, the development of a backend with Trillo Workbench entails the following workflow.
  • Data as a Service for Data Model - Create databases or connect to existing databases, create or discover tables, write named-queries and expose data as a service to be used by restful or programming language SDK APIs.
  • Serverless Functions for Business Logic - Fucntions are modular pieces of code written in a programming/scripting language for certain business behavior - such as validating data submitted using form data and storing it in the database.
A more detailed list of the workflow is given in the following table. This is a typical workflow for the development of an application. Depending upon the use-case, certain steps may not be needed.
The rows marked by "(*)" are the steps that are automatically performed or provided by the platform.
Specify database schema
Using UI or JSON editor, specify the database table, its columns, etc. Trillo Workbench will automatically create the table in the database. If you modify an existing schema, it will automatically alter the table.
Introspect Database
In addition, you can use Trillo Workbench to import schema from an existing database.
Import Data
If you need to seed the application with some data (testing data or actual), you can import using CSV. Trillo Workbench lets you specify the mapping of the attributes.
(*) Platform publishes tables as API
The platform publishes each CRUD API for each table.
Write SQL Queries
Typically an application API requires the data consisting of complex queries (nested, joins, etc.). You can write such queries and specify parameters to be substituted at the runtime as template variable using 2-3 curly braces, such as {{{template_varaible}}}.
(*) Platform publishes queries as API
The platform automatically makes each query available as API.
Write Serverless Functions
Write serverless functions for the business logic. Each function runs within a security sandbox and has access to context and environment (depending on the access control of the role of the current execution). The platform SDK provides an extensive API to write code (such as role-based access to the database, read-write files, access Google Cloud Storage buckets, send emails, read-write CSV files, access to BigQuery, and many more.
(*)Deployment and Execution of Function
Trillo platform automatically deploys the function and makes it available for execution.
Integration with External Service
If an external service publishes a restful API using OAuth2, it can be imported into the platform using a Swagger (Open API) document.
Design Reports
Using database queries, BigQuery, or function output as the data source you can design reports (including formatting, pagination, filters, sorting). Trillo reports can be configured to use server-side pagination therefore they are efficient and can scale to a very large dataset.
Design Charts
Trillo integrates provides Plotly charting library and its design studio out of the box. It uses data sources similar to the reports.
Design Dashboard
An editor can create dashboards and publish them for other users to access. Each user can create personalized dashboards.
(*) User Management
Trillo provides login, forgot password, reset the password, and change the password functionality out of the box. An admin user can manage other users (add, delete, suspend, resume, change password, etc.)
(*) Role-based Access Control
Trillo allows creating roles, roles hierarchy, and assigning to users. A resource such as a database table, function, reports, charts, dashboards can be assigned a role.
(*) User Group
The user group creation is available out of the box. A resource can be assigned to a group.
Development of custom UI
Trillo makes everything available as a remote API (including some of the Google Cloud Functions). Using the API, you can develop a custom UI using one of the several open-source frameworks such as AngularJS, ReactJS, Ionic, iOS/Android SDK, etc.