Where to Start?¶
HortiView addresses businesses in the agriculture industry and software businesses that want to create new or leverage existing solutions. Independent Software Vendors (ISVs) can publish their solutions in the marketplace for farm businesses to subscribe to.
Architecture¶
At its core HortiView is built around a event-driven architecture providing a scalable and secure environment for all users of the platform.
Additionally, it implements multi-tenancy with zero dependencies, which means that users, transactional data, personally identifiable information etc. is stored in hermetically separated databases. This not only improves security but is also in compliance with highest standards, such as GDPR.
Modules¶
Extending the platform is possible via Modules, which can be thought of plugins. Modules can come in to flavours:
- Use Your Own Backend (UYOB) - Vendors will create frontends for modules and operate and maintain required backend services to connect their modules to.
- Bring Your Own Backend (BYOB) - Vendors will create frontends for modules and upload a container configuration, either as a Docker file or as a Docker Compose file, which will be used by HortiView to spin it up and provide backend services for modules.
You can learn more about both options in the Modules and Hosting guide.
No backend code in HortiView
Due to security concerns HortiView does not allow for custom code to be uploaded and executed. Module development is restricted to frontend technologies, such as React, Angular etc. If you need a backend to execute business logic, for example, you will have to operate a backend outside of HortiView or use container technologies in HortiView (BYOB).
Publishing Modules¶
For modules to appear in the marketplace ISVs will have to go through the following process:
- Create an account as an ISV.
- Register the module to make HortiView aware of it. This will create a record and an ID for the module.
- Develop the functionality using the preferred framework outlined in our guides.
- Upload all module artifacts as a package. Make sure the page does not render any errors.
- Request a review for the module. If the review is successful, move to the next step. If not, you will have to make modifications as outlined in the report of the review and request a new review once you are ready.
- Publish the module in the marketplace using the Publish button.