Notification service should be created as a separated service IMO. The core governance polling system should be created in a decentralized fashion:
- backend implemented on blockchain (as a system of smart contracts)
- frontend which source will be maintained as a git repo (on github let’s say)
As above parts will have no relations to the external systems there will be a possibility to build them and operate them permissionlessly.
Apart of them, there might be another centralized system build that again will have two parts:
- backend - normal centralized webapp - it will connect to external notification services (ie. to send email, etc.)
- frontend - it can be a new app or it can extend “core governance polling system” frontend app
But as @ae-vlad mentioned it, the BaseApp can also be another app to monitor polls - it will have to combine backend and frontend functionality.