Overview

Welcome to the ILove XML project documentation. This system is divided into three main layers: Core Backend logic, Command Line Interface, and User Interface.

Modules

Core (Backend Logic)

Component Description
BPE Byte Pair Encoding compression algorithm logic.
Compress High-level interfaces for file compression.
Decompress Decompression routines for BPE-encoded files.
FileUtils File reading, writing, and tokenization utilities.
Graph Graph data structure for social network analysis.
GraphVisualizer Generates visual representations of the graph using Graphviz.
GraphvizWrapper Wrapper for Graphviz library integration.
JsonConverter Converts XML tree structures to JSON format.
Mutual Mutual follower calculation logic.
SearchTopic Search posts by topic tags.
SearchWord Search posts by keyword content.
SimpleMap Custom hash map data structure implementation.
Suggest Friend suggestion algorithm based on mutual connections.
Tree Generic tree data structure for XML parsing.
XMLMinifier XML whitespace removal and minification.
XMLValidator XML syntax validation and error correction.

CLI

Component Description
CLICommands Handles command-line arguments and dispatches actions.

UI (Qt/C++)

Component Description
mainwindow Main application window managing navigation and pages.
AboutPage About dialog displaying project information and team details.
CompressPage UI page for XML file compression using BPE.
DecompressPage UI page for decompressing BPE-encoded files.
formattingPage XML prettifying and formatting page.
graphPage Visualization page for the social network graph.