Horizon Framework

Architecture

Overview

The Platform framework provides a framework-agnostic component registry, an event bus for the components to communicate, an API client to access Platform back-end APIs, and a UI component library.

The framework has been built with the following 3 layers in mind:

LayerExamplesDescription
Host ApplicationPhoenix, Vax, Platform Admin ConsoleProvides application functionality such as authentication, routing, and toast messages to Platform
Platform ComponentsData Table, Global Navigation, Bulk Action ButtonsConfigurable building blocks that can be combined to build new application pages
UI ComponentsButton, Dropdown, NavigationA reusable UI component library that can be used by Platform Component developers to ensure consistent UI experiences

Using Horizon Framework

API & Data

  • API Client - ApiClientV1 wrapper around the GRPC client for Platform APIs
  • GraphQL - GraphQL client for accessing Skedulo's GraphQL API

Components and Templates

  • Component Registry - Platform Components bundled into packages
  • Event Bus - Communication system between Platform Components
  • Templates - Template system for rendering dynamic UI components

User Experience