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:
| Layer | Examples | Description |
|---|---|---|
| Host Application | Phoenix, Vax, Platform Admin Console | Provides application functionality such as authentication, routing, and toast messages to Platform |
| Platform Components | Data Table, Global Navigation, Bulk Action Buttons | Configurable building blocks that can be combined to build new application pages |
| UI Components | Button, Dropdown, Navigation | A 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
- Navigation - Navigation system for Platform applications
- User Permissions - User permission system for access control
- Preferences - User preference management system
- Feature Flags - Feature flag system for controlling feature availability
- Error Handling - Error handling strategies and best practices
- Error Usage - How to use error handling components and utilities