Skip to content

Commit 51981d3

Browse files
committed
Add AI Chatbot page with OpenAI integration
Introduced a new /ai/chatbot page featuring a chat UI for interacting with an AI assistant powered by OpenAI. Integrated the OpenAI .NET SDK and added configuration for API keys and model selection in appsettings.json. Updated the navigation menu to include the Chatbot, and added the OpenAI NuGet package dependency. The chat interface supports avatars, message bubbles, copy-to-clipboard, auto-scroll, and error handling.
1 parent 1e0dcf7 commit 51981d3

10 files changed

Lines changed: 434 additions & 24 deletions

File tree

src/Application/Application.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
<PackageReference Include="jcamp.FluentEmail.Razor" Version="4.0.0" />
1818
<PackageReference Include="FluentValidation" Version="12.1.1" />
1919
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="12.1.1" />
20-
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="10.0.1" />
21-
<PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="10.0.1" />
20+
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="10.0.2" />
21+
<PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="10.0.2" />
2222
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
23-
<PackageReference Include="Riok.Mapperly" Version="4.3.0" />
23+
<PackageReference Include="Riok.Mapperly" Version="4.3.1" />
2424
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.7.1" />
2525
<PackageReference Include="Hangfire.Core" Version="1.8.22" />
26-
<PackageReference Include="ZiggyCreatures.FusionCache" Version="2.4.0" />
26+
<PackageReference Include="ZiggyCreatures.FusionCache" Version="2.5.0" />
2727
<PackageReference Include="ActualLab.Fusion" Version="11.3.84" />
2828
<PackageReference Include="ActualLab.Fusion.Blazor" Version="11.3.84" />
2929
<PackageReference Include="ActualLab.Generators" Version="11.3.84">

src/Domain/Domain.csproj

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@
1111

1212
<ItemGroup>
1313
<PackageReference Include="MediatR" Version="12.4.1" />
14-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.1" />
15-
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="10.0.1" />
14+
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.2" />
15+
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="10.0.2" />
1616
<PackageReference Include="EntityFrameworkCore.Exceptions.PostgreSQL" Version="8.1.3" />
1717
<PackageReference Include="EntityFrameworkCore.Exceptions.Sqlite" Version="8.1.3" />
1818
<PackageReference Include="EntityFrameworkCore.Exceptions.SqlServer" Version="8.1.3" />
19-
<PackageReference Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="10.0.1" />
19+
<PackageReference Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="10.0.2" />
2020
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
21-
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.1" />
22-
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.1" />
23-
<PackageReference Include="EFCore.NamingConventions" Version="10.0.0-rc.2" />
24-
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="10.0.1" />
25-
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.1" />
26-
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.1">
21+
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.2" />
22+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.2" />
23+
<PackageReference Include="EFCore.NamingConventions" Version="10.0.0" />
24+
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="10.0.2" />
25+
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.2" />
26+
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.2">
2727
<PrivateAssets>all</PrivateAssets>
2828
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2929
</PackageReference>
30-
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="10.0.1" />
30+
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="10.0.2" />
3131
</ItemGroup>
3232

3333
</Project>

src/Infrastructure/Infrastructure.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<LangVersion>default</LangVersion>
99
</PropertyGroup>
1010
<ItemGroup>
11-
<PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="10.0.1" />
12-
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="10.0.1" />
13-
<PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="10.0.1" />
14-
<PackageReference Include="QuestPDF" Version="2025.12.0" />
11+
<PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="10.0.2" />
12+
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="10.0.2" />
13+
<PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="10.0.2" />
14+
<PackageReference Include="QuestPDF" Version="2025.12.2" />
1515
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
1616
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="9.0.2" />
1717
<PackageReference Include="Serilog.Sinks.Postgresql.Alternative" Version="4.2.0" />

0 commit comments

Comments
 (0)