Architecture - microsoft/microsoft-teams-brainy-bot GitHub Wiki
Architecture
Main Components
Brainy Bot
The bot is hosted on Azure App Service. It is built using TypeScript and the Bot Framework SDK v4. Task Owners and Task Executors communicate to Brainy using a 1:1 channel. Task Managers communicate to Brainy using the respective manager team.
Configuration Application
The configuration app is an Angular application used to configure the manager team and all user roles. To access the application, the user's user principal name (UPN) within an Azure Active Directory tenant is checked against a whitelist.
SQL Database
The SQL database is predominantly used to store and retrieve data related to the task allocation process. A full history of tasks, actions, assignments and feedback is stored in this database. Such relational data can easily be used to achieve data visualization utilizing PowerBI or to create a companion app. The database also retains user role information and task metadata, which is used in Brainy's rigid permission system.