Protrak overview
Protrak is designed for companies to rapidly develop applications to digitize processes that have teams working both in office and in the field. It is designed for cloud and mobile from ground up. It offers multiple out of the box features to track physical and digital assets.
Protrak offers a comprehensive low-code application development platform with building blocks that are commonly required in business applications. These building blocks are configurable for quick adoption for a specific use case.
All this prebuilt functionality frees up your development time to work on more sophisticated custom features.
Building Blocks
Domain Modelling
Protrak uses a metadata based architecture that provides a simple declarative way for users to define their domain model.
One can consider the domain model as a declarative abstraction of a conventional RDBMS. In this abstraction, database entities or tables are “Types”. The columns are “attributes” and rows are “instances”. Relations between types are “Relation Types”. “Roles” are groups of application users. Roles define the permissions and responsibilities assigned to users within the system.
These are some important terms that will be used going ahead.
Following are building blocks for defining domain model:
- Attributes of different data types
- Types and relationships with cardinality
- Role and policy-based permissions for data access
- Generation of unique QR code for tracking items
- Business rules
- Templates for email, text/ push notifications
- Custom programs definition and association with business event triggers
- Runtime evaluated expressions for attribute value and validations
Process Automation
The “lifecycle” of a type is the predefined states an “instance” goes through from its creation to its retirement or completion. Each “state” contains role based permissions for various operations and rules for validation within the state. The transition from one state or another is called a “promote” action and it can be manual or automated.
The process automation engine of Protrak manages this configured lifecycle for all instances of all Types defined in the schema. Administrator can configure standard or custom "commands" at every lifecycle state transition to plug-in business logic.
Following are building blocks of process automation engine:
- Role and expression-based operation permissions
- State based viewable and editable attributes
- State Transitions
- User or Code Actions
- Commands
- Expression based Validation Rules
- Version creation for audit
- Event based notifications
- Programs for custom business needs
- Event driven
- Scheduled jobs
Layout Studio
This metadata forms the structure of your application. Whether you’re defining attributes, relation types or something more complex, metadata holds your configuration. The platform then renders this metadata in the user interface along with its associated data. Because the platform is metadata-aware, it can auto-generate a significant part of your user experience as standard UI “widgets”. The layout studio has features to design pages for types in the system combining these “widgets” into groups an sections. The same configuration is used in both web and mobile client apps.
User interface and reporting building blocks:
- Single configuration for Web and Mobile
- Configuration for navigation, home page layouts based on user role
- Configurable color theme and localization
- Configurable forms for create, view, edit; dashboards & report layout of each type
- Large set of standard UI layouts, widgets and components
- Rule based Conditional formatting & Display conditions
Extensibility Framework
Protrak comes with a Extensibility Framework for pro-developers. It allows developers to enrich their applications with complex business logic with C# "programs" triggered on platform events or user interface with React JS custom "widgets" rendered seamlessly in web and mobile UI. To simplify the development Protrak also provides an IDE with a Visual Studio Extension having with standard project templates, CI/CD pipelines and debugging features.