The front-end is made with React. It's modular and consists of components.
There are 3 general component types:
- Services - a general set of components, all services are fully independent
- Complex components - components with data handling logic
- Simple components - components without data handling logic
While it's built into a monolithic set of HTML, CSS, and JS files, it's easy to add a new module and build the specific UI using only specific modules for the specific deployment.
For cartographic displays, we choose to use Mapbox. The frontend is capable of displaying both real-time and historical data with a good performance. For real-time data and notifications, we use the WebSocket protocol.