@startuml
title Gridiron Simulation System - Containers
caption Container view showing the 6 major components of the system
component "Azure SQL Database" <<Software System>> as 4
actor "Developer" <<Person>> as 2
component "Logging System" <<Software System>> as 5
actor "User" <<Person>> as 1
package GridironSimulationSystem {
  component "DataAccessLayer" <<Container>> as 12
  component "Diagram" <<Container>> as 15
  component "DomainObjects" <<Container>> as 10
  component "GridironConsole" <<Container>> as 13
  component "StateLibrary" <<Container>> as 11
  component "UnitTestProject1" <<Container>> as 14
}
12 ..> 4 : Executes queries <<Entity Framework Core>>
12 ..> 10 : Maps entities to database
2 ..> 15 : Generates architecture documentation
2 ..> 14 : Runs tests, validates changes
13 ..> 12 : Loads teams from database
13 ..> 10 : Creates and manages game entities
13 ..> 11 : Orchestrates game flow
11 ..> 10 : Manipulates game state
11 ..> 5 : Logs play-by-play
14 ..> 12 : Tests persistence
14 ..> 10 : Creates test scenarios
14 ..> 11 : Tests game logic
1 ..> 13 : Executes simulations
@enduml

