tajbender / .NET-Graph-Hack-Together

.NET-Graph-Hack-Together

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

.NET-Graph-Hack-Together

Hack Together: Microsoft Graph and .NET

App Live Here

The app has been deployed here but the Speech Recognition function is not working when deployed because Azure Speech SDK has no support for Blazor šŸ« , the todo extraction still works though, I have put in some example conversations there to demo the rest of the app.

It works locally though, here is a video for the demo.

Microsoft.Graph.NET.Hack.Project.mp4

Some pictures:

  • Recorded some conversations

image

  • Extracted some todos

image

  • Crud page for projects

image

If you want to set it up yourself, instructions to do so are below.

Project Details

I decided to work on the Create personal tasks in Microsoft To-Do scenario from the top MS Graph scenarios list but with a twist that I do it through talking about a project.

I made a Blazor Server app that lets you do personal standups on your projects, use AI to extract the tasks and add them to Microsoft To Dos, with each project being a list.

Why I made this

I plan my day every morning, automatically adding these tasks using my voice is way easier than manually typing them down.

Technologies used

  • .NET 7
  • .NET Blazor Server
  • Tailwind CSS + DaisyUI
  • Open AI Api
  • Microsoft Graph .NET SDK
  • SQLite Database

How to run the code

After you clone the project add a applicationsettings.json file to the root of the .net project with this format

{
  "SPEECH_KEY": "<SPEECH_KEY_FROM_SPEECH_SERVICE>",
  "SPEECH_REGION": "<SPEECH_REGION_FROM_SPEECH_SERVICE>",
  "OpenAIServiceOptions": {
    "ApiKey": "<OPENAI_API_KEY>",
    "Organization": "<OPENAI_ORG_KEY>"
  },
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "common",
    "ClientId": "<CLIENT_ID>",
    "ClientSecret": "<CLIENT_SECRET>",
    "ClientCertificates": [],
    "CallbackPath": "/signin-oidc"
  },
  "DownstreamApi": {
    "BaseUrl": "https://graph.microsoft.com/v1.0",
    "Scopes": "User.Read Tasks.Read Tasks.ReadWrite"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=graphass.db"
  }
}

Replace them keys with your own and run dotnet run and it should be good to go

About

.NET-Graph-Hack-Together


Languages

Language:CSS 71.2%Language:HTML 15.3%Language:C# 12.8%Language:PowerShell 0.3%Language:Shell 0.2%Language:JavaScript 0.1%