Coder Social home page Coder Social logo

mahmoud-abdelraouf / cse331-data-structure-and-algorithms-project Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 120.53 MB

License: MIT License

CMake 7.86% C++ 77.74% Makefile 13.10% C 1.28% QMake 0.02%
data-structures desktop-application qt6-gui qtcreator

cse331-data-structure-and-algorithms-project's Introduction

XML Visualization and Analysis Tool

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.

Table of Contents

Introduction

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.

Features

Level 1 Requirements

  • 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.

Level 2 Requirements

  • 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.

Project Structure

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.

Requirements

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.

Usage

To use the program:

  1. Clone the repository to your local machine.
  2. Install the necessary dependencies (outlined in the Installation section).
  3. Run the application and use the GUI to perform desired operations on XML files.

Dependencies

The project relies on the following dependencies:

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/project-name.git
    cd project-name
  2. Install dependencies:
    # Instructions for installing dependencies (e.g., using pip, npm, etc.)
  3. Run the program:
    # Instructions to run the program

Contributing

We welcome contributions to enhance this project. Feel free to submit issues or pull requests.

License

This project is licensed under the MIT.

cse331-data-structure-and-algorithms-project's People

Contributors

d3cypherd avatar mahmoud-abdelraouf avatar mennatallah74 avatar mightymaya avatar semomoh avatar somaya-ayman avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.