Skip to content
This repository was archived by the owner on Oct 17, 2024. It is now read-only.

Solution overview

Kiran Thomas edited this page Jun 30, 2020 · 6 revisions

Share Now App: This is a web application built using the Bot Framework SDK v4 for .NET and ASP.NET Core 2.1.

Azure solution

  • The app service implements the bot and messaging extension experience by providing endpoints for user communication. The app service hosts the react app in order to display posts shared by users through the tab. Users can add/update and delete posts, upvote the post, and add post to private list for quick accessibility.
  • App endpoint is registered as messaging endpoint in the bot registration portal and provides an endpoint /api/messages to process bot and messaging extension requests/response.
  • App service hosts React application for tabs and provide custom APIs in the back-end for fetching and storing data securely.
  • Single Sign-On experience is implemented in React application for seamless user authentication.

Azure bot service Azure bot service is developed using BOT SDK v4. Share Now web app endpoint is registered as messaging endpoint in the bot registration portal.

Azure table storage

Azure table storage is used to store post details and user configuration values. Details are provided in Data stores section.

Azure search service

Leveraging querying and indexing capabilities of Azure Search service for faster retrieval of posts as per user demand. It provides robust queries over-indexed data that overcomes query limitation of table storage.

IHostService

Recurrence triggered IHostService to hit Table Storage for performing data sync operations on every 12 hours and send digest notification on Weekly/Monthly via running it every day.

Application Insights

Application Insights is used for tracking and logging. Details are provided in Telemetry section.

Data stores

The web app is using Azure table storage for data storage due to its cost-effective pricing model and providing support for No-SQL data models.

Clone this wiki locally