Currently the dionysus service holds the name of the venue but to allow the creation and management of custom venues this needs to be migrated out to its own microservice. This provides a greater level of decoupling, reduces venue ambiguity, greater resiliance to detail changes (especially names).
Considerations
This will add overhead to event queries as the backend will either have to make requests to and wait for the venue service to respond, or the frontend will need to do this instead. Database management needs to be considered as we are effectively trying to produce a join across two independent databases.
Impacted services
uems-frontend-themis (provisionally)
frontend may need to make new requests to the venue service to complete the event response
frontend will need its own management pages for venues
uems-event-micro-dionysus
venue identifiers need to be migrated to the ID format used by the venue service
uems-hub
new microservice requires new docker configuration
uems-gateway (provisionally)
requests for events now need to combine queries to the venue microservice
This provides a greater level of decoupling, reduces venue ambiguity, greater resiliance to detail changes (especially names).
Note these are provided simply by having another collection within the event-details database and aren't an advantage to a separate venue microservice.
Currently the dionysus service holds the name of the venue but to allow the creation and management of custom venues this needs to be migrated out to its own microservice. This provides a greater level of decoupling, reduces venue ambiguity, greater resiliance to detail changes (especially names).
Considerations This will add overhead to event queries as the backend will either have to make requests to and wait for the venue service to respond, or the frontend will need to do this instead. Database management needs to be considered as we are effectively trying to produce a join across two independent databases.
Impacted services
uems-frontend-themis
(provisionally)uems-event-micro-dionysus
uems-hub
uems-gateway
(provisionally)