diff --git a/UML diagram.txt b/UML diagram.txt new file mode 100644 index 0000000..d1f36ec --- /dev/null +++ b/UML diagram.txt @@ -0,0 +1,97 @@ +// 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]