GallowayLabMIT / labbot

MIT License
0 stars 0 forks source link

Better abstraction #3

Open meson800 opened 4 years ago

meson800 commented 4 years ago

Properly write a module separation system, that keeps modules isolated from each other. Services can be provided to each module (slackapi, fastapi backend, etc) to unify how module loading works.

meson800 commented 3 years ago

More detailed:

Switch to a module-loading system, where we have an overall system creating the Slack and general Fastapi handlers. It then starts an async loop.

Each module should expose a function register_module, which gets passed the Slack Dash app and the fastapi app, to register any handlers they want, in addition to getting their segment of the config file.

Switch over to using Dash in general.

Add a home-screen abstraction, again where each module can register to create a home tab section. Also add an overall "restart via slack" which can pull in a certain git commit object and restart the server without interaction.