// Use yuml.me // Galactic V3 class diagram // New storage system // ------------------ [index] -> [Manager] [EventEmitter] ^ [Manager] [Manager] ++-> [MainLogger] [Manager] ++-> [ShardManager] [ShardManager] ++-> [Shard] [Shard] -> [DiscordClient] [Client] ^ [DiscordClient] [EventEmitter] ^ [Client] [DiscordClient] ++-> [Registry] [DiscordClient] ++-> [EventHooker] [DiscordClient] ++-> [Dispatcher] [DiscordClient] ++-> [Resolver] [DiscordClient] ++-> [Logger] [DiscordClient] ++-> [LocaleLoader] [DiscordClient] ++-> [RateLimiter] [DiscordClient] ++-> [ModerationManager] [ModerationManager] -> [Infraction] [EventHooker] ++-> [Observer] [Dispatcher] -> [Observer] [LocaleLoader] ++-> [Language] [RateLimiter] -> [Message] [RateLimiter] -> [TextChannel] [DiscordClient] ++-> [StorageManager] [StorageManager] ++-> [Providers] [StorageManager] ++-> [Interfaces] [StorageManager] ++-> [Tables] [Interfaces] ^ [MariaDBTable] [Interfaces] ^ [MongoDBTable] [Interfaces] ^ [Provider] [Providers] ^ [MariaDB] [Providers] ^ [MongoDB] [Registry] ++-> [Component] [Component] ^ [Command] [Component] ^ [Setting] [Component] ^ [Observer] [Component] ^ [Inhibitor] // Galactic V3 class diagram // With old storage system // ------------------ [index] -> [Manager] [EventEmitter] ^ [Manager] [Manager] ++-> [Loggger] [Manager] ++-> [ShardManager] [Manager] ++-> [StorageManager] [ShardManager] ++-> [Shard] [Shard] -> [DiscordClient] [Client] ^ [DiscordClient] [EventEmitter] ^ [Client] [DiscordClient] ++-> [Registry] [DiscordClient] ++-> [EventHooker] [DiscordClient] ++-> [Dispatcher] [DiscordClient] ++-> [Resolver] [DiscordClient] ++-> [Logger] [DiscordClient] ++-> [LocaleLoader] [DiscordClient] ++-> [RateLimiter] [DiscordClient] ++-> [ModerationManager] [DiscordClient] ++-> [TransactionHandler] [ModerationManager] -> [Infraction] [EventHooker] ++-> [Observer] [Dispatcher] -> [Observer] [LocaleLoader] ++-> [Language] [RateLimiter] -> [Message] [RateLimiter] -> [TextChannel] [TransactionHandler] -> [StorageManager] [StorageManager] ++-> [Provider] [Provider] ^ [MariaDB] [Provider] ^ [MongoDB] [Registry] ++-> [Component] [Component] ^ [Command] [Component] ^ [Setting] [Component] ^ [Observer] [Component] ^ [Inhibitor]