graph TB
    subgraph Main Application
        AppModule[App Module]
        AppController[App Controller]
        AppService[App Service]
    end

    subgraph Quiz Module
        QuizMod[Quiz Module]
        QuizController[Quiz Controller]
        QuizSetController[QuizSet Controller]
        QuizService[Quiz Service]
        QuizRepo[Quiz Repository]
        QuizSetRepo[QuizSet Repository]
    end

    subgraph QuizZone Module
        QuizZoneMod[QuizZone Module]
        QuizZoneController[QuizZone Controller]
        QuizZoneService[QuizZone Service]
        QuizZoneRepo[QuizZone Repository]
    end

    subgraph Play Module
        PlayMod[Play Module]
        PlayGateway[Play Gateway]
        PlayService[Play Service]
    end

    subgraph Chat Module
        ChatMod[Chat Module]
        ChatController[Chat Controller]
        ChatService[Chat Service]
        ChatRepo[Chat Memory Repository]
    end

    subgraph Core
        SessionWsAdapter[Session WebSocket Adapter]
        Logger[Winston Logger]
        TypeORM[TypeORM]
    end

    %% Module Dependencies
    AppModule --> QuizMod
    AppModule --> QuizZoneMod
    AppModule --> PlayMod
    AppModule --> ChatMod
    
    %% Quiz Module Dependencies
    QuizMod --> QuizController
    QuizMod --> QuizSetController
    QuizMod --> QuizService
    QuizService --> QuizRepo
    QuizService --> QuizSetRepo
    
    %% QuizZone Module Dependencies
    QuizZoneMod --> QuizZoneController
    QuizZoneMod --> QuizZoneService
    QuizZoneService --> QuizZoneRepo
    QuizZoneService --> QuizService
    QuizZoneService --> ChatService
    
    %% Play Module Dependencies
    PlayMod --> PlayGateway
    PlayMod --> PlayService
    PlayService --> QuizZoneService
    PlayService --> ChatService
    
    %% Chat Module Dependencies
    ChatMod --> ChatController
    ChatMod --> ChatService
    ChatService --> ChatRepo
    
    %% Core Dependencies
    AppModule --> SessionWsAdapter
    AppModule --> Logger
    AppModule --> TypeORM