Gå till innehållet

Arkitektur och teknisk plattform

flowchart LR
    Client[Clients<br/>Browser / Mobile / Other Services] -->|HTTP / REST / JSON| API[Salieri.Api<br/>ASP.NET Core Web API]


    subgraph Infra["Infrastructure / DevOps optional"]
        CI[CI/CD Pipeline]
        Container[Container / Docker / K8s]
        Monitoring[Monitoring / Logs / Health Checks]
    end   

    API --> CI
    API --> Container
    API --> Monitoring

    subgraph App["Salieri.Api (runtime)"]
        API --> Middleware[Middleware<br/>Auth, Logging, Error Handling]
        API --> Controllers[Controllers<br/>RoomsController, ...]
        Controllers --> Services[Services / Business Logic]
        AppService --> DI[Dependency Injection Container]
        Controllers --> DTOs[DTOs / ViewModels]
        Services --> Repositories[Repositories / Data Access]
        Repositories --> DbContext[SalieriDbContext<br/>EF Core]
        DbContext -->|ORM mapping| Entities[(Entities<br/>Room, Capacity, RoomType, Facility, BookableByRole, ...)]
        AppService --> Config[Configuration<br/>appsettings.json / env vars]
        Config --> Secrets[(Secrets / Key Vault)]
        AppService --> Config[Configuration<br/>appsettings.json / env vars]
        AppService --> Migrations[EF Core Migrations]
        Controllers ---|constructor injection| DI
        Services ---|constructor injection| DI
        Repositories ---|constructor injection| DI
    end