This repository was archived by the owner on Oct 17, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
Solution overview
Yashraj Mungale edited this page Jun 23, 2020
·
2 revisions
![]()
The Goal tracker application has the following main components:
##Capabilities
Bot:
The Bot provides all end users (internal users seeking help from a central team) and easy interface (bot) to:
- Set goals/OKRs and track them.
- Add notes to goals
- Publish of team goals/OKRs for better visibility.
- Create team goals
- Align personal goals with team goals
Personal Tab A tab in personal scope that shows the status of all goals and help in tracking progress of all goals in the current goal cycle.
Azure solution
- The app service implements the bot and tab experience by providing end points for user communication. The app service hosts the react app in order to display goals set by user through tab. User can add/update and delete goals.
- App endpoint is registered as messaging end point in bot registration portal and provides an endpoint /api/messages to process bot and tab requests/response.
- App service hosts React application for tabs and set goals and provides custom APIs in back end for fetching and storing data securely.
- Single Sign On experience is implemented in React application for seamless user authentication.
Azure table storage
- Azure table storage is used to store post details and user configuration values. Details are provided in section Data stores.
Azure search service
- Leaveraging querying and indexting capabilities of Azure search service for faster retrieval of posts as per user demand. It provides robust queries over indexed data which overcomes query limitation of table storage.
Application validates if user is a team owner which requires delegated permission and requires tenant admin to provide consent.
| Sr. No. | Use Case | API | Delegated permissions | API version |
|---|---|---|---|---|
| 1. | Get owners of team | GET https://graph.microsoft.com/v1.0/groups/{id}/owners | Group.Read.All, User.Read.All | V1.0 |
The bot is built using the Bot Framework SDK v4 for .NET and ASP.NET Core 2.1. The bot has a conversational interface in personal (1:1) scope and in team scope. It also implements a tab in personal scope.