Skip to content

spbu-coding-2023/graphs-1-1

Repository files navigation

Graphses

Coverage Branches

Description

Graphses is a desktop application designed for visualizing and analyzing graphs. It provides a user-friendly interface for visualizing various types of graphs and analyzing them using different algorithms.

Table of Contents

Elevate Your Graph Visualization and Analysis

Are you looking to take your graph visualizations to the next level? Look no further, because Graphses is here to transform your graph experience!

Our desktop application is packed with features that make graph analysis both powerful and intuitive. Get ready to enhance your graph game with the following epic features.

Features

🚀 Bridge Search

Find those crucial bridges that keep your graph connected and robust. No more guessing—Graphses reveals them all with a snap of its digital fingers.

🌀 Strong Component Search

Identify those robust clusters holding your graph together. Graphses effortlessly unveils strong components, so you can see where the real power lies.

⚡ Dijkstra and Bellman-Ford Search

Whether you're looking for the shortest path with lightning speed or need to factor in those pesky negative weights, Graphses has got your back. Dijkstra or Bellman-Ford? Why not both?

🌐 Community Detection (provided by Gephi)

Discover hidden communities in your graph like a social network ninja. Graphses finds and highlights communities, making it easy to see who’s really hanging out with whom.

🎨 Yifan Hu Layout (provided by Gephi)

Organize your graphs with the Yifan Hu layout, turning chaos into a masterpiece of visual clarity.

🌳 Minimum Spanning Tree

Optimize your network with precision. Graphses finds the minimum spanning tree, ensuring your graph is as efficient and lean as a professional athlete.

🔑 Key Vertex Identification

Who's the MVP of your graph? Graphses pinpoints the key vertices that are critical to your graph's integrity and performance.

🔄 Cycle Search

Worried about endless loops? Fear not! Graphses detects cycles faster than a pro cyclist on a caffeine high.


Say hello to Graphses—your new best friend in graph analysis. With its arsenal of powerful features, Graphses takes your graphs from zero to hero. Get ready to conquer the world of graphs with Graphses, where strong, stunning, and smart visualizations await.

Given that your application is a desktop app based on Compose and opens in main.kt, here’s how you can structure the "Usage" section to guide users on running and using your application:

Usage

Running the Application

To get started with Graphses, follow these steps to run the application:

  1. Clone the Repository:

    git clone https://github.com/spbu-coding-2023/graphs-1-1.git
    cd Graphses
  2. Open the Project: Open the project in your favorite IDE (e.g., IntelliJ IDEA).

  3. Build the Project: Ensure that your project dependencies are correctly configured and build the project. This can usually be done within the IDE by navigating to Build -> Build Project.

  4. Run the Application: Locate the main.kt file in your project. Right-click on it and select Run 'main.kt'. Alternatively, you can run the following command from the terminal:

    ./gradlew run

Contributing

We welcome contributions from the community! If you're interested in improving Graphses, follow these steps to get started:

How to Contribute

  1. Fork the Repository: Click the "Fork" button at the top right of this page to create a copy of the repository on your GitHub account.

  2. Clone Your Fork: Clone the forked repository to your local machine.

    git clone https://github.com/your-username/graphs-1-1.git
    cd Graphses
  3. Create a Branch: Create a new branch for your feature or bug fix.

    git checkout -b feature/your-feature-name
  4. Make Your Changes: Implement your feature or fix the bug. Make sure to follow the existing code style and include tests if applicable.

  5. Commit Your Changes: Commit your changes with a meaningful commit message.

    git add .
    git commit -m "Add feature: your feature name"
  6. Push to Your Fork: Push your changes to your forked repository.

    git push origin feature/your-feature-name
  7. Submit a Pull Request: Go to the original repository on GitHub and create a new pull request. Provide a clear description of your changes and the problem they solve.

Guidelines

  • Code Style: Ensure your code adheres to the existing style guidelines.
  • Tests: Write tests for any new functionality or bug fixes. Make sure all tests pass before submitting your pull request.
  • Documentation: Update the documentation as needed to reflect your changes.
  • Commits: Write clear, concise commit messages. Be descriptive.

Reporting Issues

If you encounter any issues or have suggestions for improvements, please open an issue on GitHub. Provide as much detail as possible, including steps to reproduce the issue.

Authors

License

MIT