With Designer, you can easily design your application with a user friendly interface.
Altogic allows the formation of complex data models with relations and multilevel data hierarchies and automatically creates your data model in the database and manages your data model changes.
You can define model hierarchies where the top-level model can have several sub-models, and each sub-model can also have several other child models.
You can also create your data models as either permanent or transient. Permanent models are stored in the database, whereas transient models are not.
Multi-level data hierarchies with sub-models
n-to-n relations with other models or sub-models
Rich set of data fields with built-in and custom validation rules
You can define a field as permanent or transient Permanent fields are stored in the database, whereas transient fields are not.
A field can be indexed. Altogic automatically creates the necessary indices for your data model; however, for finer control over your data, you can explicitly specify whether to index the values of a field for faster access or not
A field can be read-only. When an object with read-only fields is created, you cannot modify the value of read-only fields later.
A field can be marked as mandatory or optional. All mandatory field values need to be provided when creating a model object.
You can use the expression editor to write down Excel-like formulas in defining a field's default value. With expressions, you are not restricted to define default values as static values. You can define default values that can dynamically change based on the values provided in other model fields.
For each different field type, you can use pre-defined standard validation rules that are specific to the type of the field, or you can define your custom validations rules. Custom validation rules are defined as rule and error message expression pairs. When the validation rule expression fails (evaluates to false), the error message expression is evaluated and returned.
Altogic can automatically create the default CRUD (create, read, update and delete) endpoints and associated services for your permanent models. Automatic creation of these default endpoints and services can significantly speed up your development.
Altogic is much more than CRUD (create, read, update, delete) operations. With Altogic, you can model complex business logic in your services with multiple conditional flow branches, execution loops, database operations, and 3rd party RESTful API calls.
Conditional branching and execution of service
Synchronization of service flow to wait for execution completion of specific nodes
Loops/iterations in your service flow where the flow iterates until a certain condition happens
Expressions & functions to set the parameters of your service nodes
Multiple database operations in a single service flow and support for database transactions
Fully customized request return values; return either nothing, a single object, a list of objects, or any number of named objects or object lists
Complete control over error handling for each node and choose whether Altogic automatically handles errors or not
You can use Altogic's 50+ core nodes in your service designs and create your custom RESTFul API nodes.
You can use cache nodes to store data in high-speed data storage layer to increase data retrieval performance by reducing the need to access the underlying slower storage layer.
Database nodes provide all the basic CRUD operations and allow paginating and iterating over data and executing database transactions.
With email nodes, you can use your SMTP server to send emails and or attach files to your emails.
You can use file nodes to manage your files (documents, images etc.) in Altogic's cloud infrastructure. With these nodes, you can upload, download, rename, replace, or duplicate files.
With list nodes, you can filter, sort, merge list (array) of objects, and pick specific objects from a list.
You can use logical nodes to conditionally branch or synchronize execution of your service flow.
With session nodes, you can manage the session tokens of your users.
Through Altogic's nodes marketplace, you can use nodes from 3rd parties (Twilio, SendGrid, MailChimp, Google, etc.) in your services.
You can create your own custom RESTful API nodes and use them in your application services. Additionally, you can also submit your custom nodes to the marketplace so that other Altogic platform users can use them.
EXPRESSIONS & FUNCTIONS
Altogic uses intuitive and easy-to-use expressions to set the parameters of your service nodes.
In Altogic, you use the same expression syntax to query your data; in other words, you do not need to learn a separate data querying language (e.g., SQL).
If you know how to write a formula in Excel, you have all the essential know-how to write expressions and data queries in Altogic.
Altogic provides 140+ built-in functions that you can use in your expressions and data queries.
With Altogic, you can create message queues and route messages sent to the message queues to their respective asynchronous service for processing.
In Altogic, you can create tasks that run periodically to automate maintenance, administration, and repetitive jobs. Tasks help send periodic emails, generate documents, perform bulk updates in the database, etc.
In Altogic, an environment is a space where your application data is stored, managed and your application's RESTful services are executed.
An environment is bound to a geographic location (e.g., US Central, Germany, Singapore). When you create an environment for your app and deploy a snapshot, service requests to that specific app snapshot will be routed only to datacenters in the environment's geographic location.
You can create separate environments for development, test, and production versions of your app.
You can deploy/redeploy a snapshot to an environment and, if needed, undeploy it from an environment. You can choose to delete all application data during undeployment or keep the data intact and deploy a newer version of the snapshot to continue using existing data.
With auto-redeployment option enabled, your snapshot changes are automatically redeployed to the deployed environments, excluding the production environment, in near-real time.
Each endpoint is protected by default with an, with an API key. Therefore, the external party needs to have a valid API key to call your endpoint services.
Each endpoint can also be protected by a session token. If the endpoint is marked as session required, the calling party also needs to provide a session token besides the API key.
Access groups can also be used to set granular role-based endpoint access rights for individual users.
Altogic automatically generates the RESTful API documentation of your application endpoints for each deployed environment.
The documentation of each endpoint details all required input parameters (e.g., request headers, query string parameters, request body) and security requirements (e.g., API keys, session token, app roles), and provides response body samples.
You can also provide access to 3rd parties by inviting them to view your API documents through email.