Initial commit with inital CMS

This commit is contained in:
2026-06-15 17:00:16 +02:00
commit 95d986790e
132 changed files with 7624 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
using SlpModularCms.Api.Extensions;
using SlpModularCms.Api.Infrastructure;
using Scalar.AspNetCore;
var builder = WebApplication.CreateBuilder(args);
// Load local developer overrides
builder.Configuration.AddJsonFile("appsettings.local.json", optional: true, reloadOnChange: true);
// 1. Initialize Module Orchestrator
var loggerFactory = LoggerFactory.Create(lb => lb.AddConsole());
var orchestrator = new ModuleOrchestrator(loggerFactory.CreateLogger<ModuleOrchestrator>());
orchestrator.DiscoverModules();
// 2. Add Core Infrastructure
builder.Services.AddCoreInfrastructure(builder.Configuration);
// 3. Add Module Services
orchestrator.RegisterModuleServices(builder.Services);
// 4. Global Controller Configuration with Conventions
builder.Services.AddControllers(options =>
{
options.Conventions.Add(new ApiPrefixConvention("api/v1"));
});
var app = builder.Build();
// 5. Global Exception Handling
app.UseExceptionHandler();
// 6. Configure Pipeline
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.MapScalarApiReference();
}
app.UseHttpsRedirection();
// 7. Use Module Middleware
orchestrator.UseModules(app);
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
app.Run();