📄️ Preparing the environment
To build OpenRemote projects, you have to first prepare the environment on your developer workstation or build machine. Alternatively you can use a Docker image with tooling.
📄️ Setting up an IDE
This guide helps you set up an environment with an IDE when you are done Preparing the environment, so you can work comfortably on the Manager backend services.
📄️ Docker Compose profiles
Docker services
📄️ Creating a custom project
Quickstart
📄️ Agent and protocol SPI
See the HTTPProtocol.java as an example as this will give you a good guide of what to do to build protocol:
📄️ Licensing guidelines for contributors
All projects should include a LICENSE.txt text file in the root folder. This file should also be in the root of any distributed archive/ZIP file.
📄️ Gateway tunnelling setup
This guide describes the steps necessary to setup the gateway tunnelling functionality which allows remote access to edge gateways using SISH
📄️ Extensions
Extensions are a way to add project-specific or domain-specific functionality without adding that functionality directly to the OpenRemote core.
📄️ External Services
External services allow developers to extend the functionality of the OpenRemote platform by integrating their own applications directly into the OpenRemote Manager, giving users a seamless way to configure and manage them.
📄️ System Administration
Monitoring
📄️ Working on UI and apps
Overview
📄️ Adding Widgets on Insights
Manager UI
📄️ Working on maps
MapLibre GL
📄️ Working on the mobile consoles
The OpenRemote mobile consoles load the web applications using a web view and provide bridging of native device functionality to provide a native app experience.
📄️ Frontend Testing
OpenRemote uses Playwright for frontend testing. Playwright was originally created for end-to-end testing i.e. testing through a browser just like how users would interact with an application. This usually requires the backend to run, making end-to-end tests considerably slower than unit- or component tests. Playwright has added an experimental feature for component testing. This allows you to use the same Playwright APIs on individual components for better test isolation and easier parallelization.