This project aims to develop a GUI-based program to parse, visualize, and analyze XML files representing users in a social network. The tool performs various operations on XML data, ensuring consistency, formatting, conversion to JSON, compression, and graph-based network analysis.
- Introduction
- Features
- Project Structure
- Requirements
- Usage
- Dependencies
- Installation
- Contributing
- License
XML (Extensible Markup Language) serves as a fundamental format for data exchange among devices. This project targets the development of a robust GUI program capable of handling XML files representing social network users. By parsing and visualizing this data, the tool offers insights into network structures and supports various transformations of the XML content.
- XML Consistency Check: Detects and resolves inconsistencies in XML files.
- XML Formatting: Ensures well-formatted XML through indentation.
- XML to JSON Conversion: Transforms XML data into JSON format.
- XML Minification: Reduces file size by removing whitespaces and newlines.
- Data Compression: Implements an ad-hoc compression technique for file size reduction.
- Graph Representation: Utilizes a graph data structure to depict user relations within the network.
- Network Analysis: Identifies influential and active users, mutual followers, and suggests users to follow.
- Post Search: Enables searching for specific words/topics within posts.
- Graph Visualization: Utilizes third-party libraries/tools for visualizing the network graph.
- Undo/Redo Operations: Implements functionality for reverting or reapplying changes made during editing.
The project is structured as follows:
/src
: Contains source code files for the program./data
: Sample XML files for testing and development./docs
: Documentation and diagrams describing implementation details and project insights.
The project requires the implementation of various data structures, including arrays, linked lists, stacks, queues, and priority queues (heap). Additionally, an in-house implementation of one data structure is mandatory. The usage of GitHub/GitLab for project management and version control is required.
To use the program:
- Clone the repository to your local machine.
- Install the necessary dependencies (outlined in the Installation section).
- Run the application and use the GUI to perform desired operations on XML files.
The project relies on the following dependencies:
- Dependency 1: Description.
- Dependency 2: Description.
- Clone the repository:
git clone https://github.com/your-username/project-name.git cd project-name
- Install dependencies:
# Instructions for installing dependencies (e.g., using pip, npm, etc.)
- Run the program:
# Instructions to run the program
We welcome contributions to enhance this project. Feel free to submit issues or pull requests.
This project is licensed under the MIT.