Closed LukeParky closed 1 day ago
These are notes that concern mostly the digital twin framework that extends far beyond the scope of the Ōtākaro project,
This comment was automatically written by the Blocking Issues bot, and this PR will be monitored for further progress.
Different things to consider:
Plugin-based architecture
Is conda still the most appropriate dependency management system? Perhaps pip or one of the modern alternatives
How would inter-dependencies between plugins work? E.g Core v1.1 < Lidar plugin v2.4 < Flood plugin v4.3 < BG_Flood plugin v1.2
Git repo strategy e.g. monorepo, submodules, multiple repos etc.
Better handling of defining the AOI (e.g. accept arbitrary shapes)
BG_Flood would be a good first thing to try separate into a plugin
Would each plugin expose its own endpoints?
Using an internal registry may make it easier for development rather than relying on package managers (for if we use submodules or multiple modules, or even just for GVC
the front-end will also need to be able to read the plugin list and probably configure it somehow
Utilising plugins or feature flags may make the branching strategy simpler. I.e. maybe we can have in-development plugins disabled on the main branch, and available on dev machines and branches
Sub task: