SomniaGuestLog - Address search/query using Nominatim - Initial implementation

Initial implementation for address search/query using external APIs (OSM Nominatim) & Added required classes for supporting more APIs in the future.
This commit is contained in:
2026-08-07 22:08:25 +02:00
parent 2335c223ea
commit 3fe558c231
12 changed files with 322 additions and 5 deletions
+13 -2
View File
@@ -4,8 +4,11 @@ using Microsoft.EntityFrameworkCore;
using MudBlazor.Services;
using Somnia.GuestLog.Components;
using Somnia.GuestLog.Infrastructure;
using Somnia.GuestLog.Models.Configuration;
using Somnia.GuestLog.Models.DTOs;
using Somnia.GuestLog.Services;
using Somnia.GuestLog.Services.AddressQuery;
using Somnia.GuestLog.Utils;
using Somnia.GuestLog.Validators;
var builder = WebApplication.CreateBuilder(args);
@@ -22,10 +25,13 @@ builder.Services.AddDatabaseDeveloperPageExceptionFilter();
// Add MudBlazor services
builder.Services.AddMudServices();
// Add services to the container.
// Add components services to the container.
builder.Services.AddRazorComponents()
.AddInteractiveServerComponents();
builder.Services.AddLocalization();
builder.Services.AddHttpClient();
// Add Validation Services
builder.Services.AddSingleton<IValidator<GuestDocumentDTO>, GuestDocumentDTOValidator>();
builder.Services.AddSingleton<IValidator<GuestDocIdDTO>, GuestDocIdDTOValidator>();
@@ -34,7 +40,12 @@ builder.Services.AddSingleton<IValidator<GuestDocIdDTO>, GuestDocIdDTOValidator>
builder.Services.AddSingleton<IGuestDocumentService, GuestDocumentService>();
builder.Services.AddSingleton<IDataListService, StaticDataListService>();
builder.Services.AddLocalization();
// Add Factories (and it's services)
builder.Services.AddFactoryDI<IAddressQueryFactory, ConfigFileAddressQueryFactory>();
// Add Options config
builder.Services.AddOptions<AddressQueryConfig>()
.Bind(builder.Configuration.GetSection(AddressQueryConfig.SectionName));
var app = builder.Build();