{"id":19316623,"url":"https://github.com/wisskirchenj/graph-algorithms-visualizer","last_synced_at":"2025-08-08T16:09:24.677Z","repository":{"id":63057702,"uuid":"564955805","full_name":"wisskirchenj/graph-algorithms-visualizer","owner":"wisskirchenj","description":"Interactive graph-creator and visualizer for graph-algorithms (Swing)","archived":false,"fork":false,"pushed_at":"2024-04-22T13:16:24.000Z","size":178,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-24T04:42:13.265Z","etag":null,"topics":["dijkstra-shortest-path","graph-algorithms","java19","prims-algorithm","swing-gui","traversal-algorithms","visualisation"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wisskirchenj.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-11T22:55:13.000Z","updated_at":"2024-04-22T13:16:27.000Z","dependencies_parsed_at":"2025-01-06T04:12:24.616Z","dependency_job_id":"2d0f402d-1f43-4f67-893d-70acbce7fc65","html_url":"https://github.com/wisskirchenj/graph-algorithms-visualizer","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"fcca6f46c1afdc914281797e7b410fe05dadec84"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wisskirchenj/graph-algorithms-visualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fgraph-algorithms-visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fgraph-algorithms-visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fgraph-algorithms-visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fgraph-algorithms-visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wisskirchenj","download_url":"https://codeload.github.com/wisskirchenj/graph-algorithms-visualizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fgraph-algorithms-visualizer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269449145,"owners_count":24419024,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dijkstra-shortest-path","graph-algorithms","java19","prims-algorithm","swing-gui","traversal-algorithms","visualisation"],"created_at":"2024-11-10T01:12:02.602Z","updated_at":"2025-08-08T16:09:24.645Z","avatar_url":"https://github.com/wisskirchenj.png","language":"Java","readme":"# IDEA EDU Course ...\n\nA visualizer for graph-algorithms\nImplemented in the Java Core Track of hyperskill.org's JetBrain Academy.\n\n## Technology / External Libraries\n\n- POJO Java 19,\n- javax.swing frontend\n- with Lombok annotation processors, \n- Apache Log4j SLF4J API binding to Log4j 2 logging and \n- Junit 5 with \n- Mockito (mockito-inline) testing.\n\n## Repository Contents\n\nThe sources of main project tasks (7 stages) and unit, mockito testing.\n\n## Program description\n\nAn interesting sounding project with Swing UI to create graphs and visualize graph algorithms like traversals,\nspanning trees, and shortest pathfinding.\n\nHave fun!\n\n## Project completion\n\nProject was completed on 28.11.22\n\n## Progress\n\n11.11.22 Project started and Stage 1 completed, drawing of a black JPanel graph with 4 vertices in the edges \n(Vertex consists of Jpanel with Jlabel in it and overwritten paint(g) method to draw a circle around label).\n\n12.11.22 Stage 2 completed. Vertices can be added by mouse click in the graph canvas. In this case\nan input dialog pops up and asks for a 1 char vertex label - can be cancelled...\n\n19.11.22 Stage 3 completed. Mode Menu added to a Menu bar, that switches between, \"Add Vertex\", \"Add Edge\" and \"None\".\nIn the Add Edge mode, the first click on a vertex selects this one (and highlights it in color) and a click on a second\nvertex then lets the user input a weight via modal dialog. Then an edge is drawn between these two vertices and a label \nis placed near the center of the edge. -\u003e interesting stage with a lot of paint, Graphics and JComponent-Methods used.\n\n21.11.22 Stage 4 completed. File Menu (New and Exit) added. Also added the modes \"Remove a Vertex\" and \"Remove an Edge\"\nto the Mode Menu. For that to work, we introduced a GraphModel, that models the Vertex-Edge Connections of the\nuser-created graph and also groups the otherwise not well associated components (label, edge, reverse) of an edge.\nTo remove a vertex just click on it with the mode selected (all associated edges are removed too). And to remove\nan edge click on the center of the edge (i.e. near midpoint of the drawn line).\n\n26.11.22 Stage 5 completed. Algorithm Menu (Depth First Search and Bread First Search) added. \nWhen an algorithm is selected, the user is asked to click on a start vertex for the graph traversal. After that, the\ntraversal algorithm runs and stores its orders into a queue, which is played ba a swing timer graphical showing the\ntraversal by highlighting each traversed edge and vertex in slow motion.\n\n27.11.22 Stage 6 completed. Algorithm Menu got new item \"Dijkstra's Algorithm\", which if chosen asks the user to click on\na start vertex (as all algorithm) and then performs a Dijkstra search to calculate the shortest paths to all other vertices\nbased on the edge weights given. The result is displyed in the status bar.\n\n28.11.22 Final Stage 7 completed. Prim's Algorithm added to Algorithm menu, which is run to determine a minimal spanning\ntree of the graph (component), that the selected starting vertex belongs to. Minimal spanning tree means, that the sum\nof all edge weights of this spanning tree is minimal amongst all possible spanning trees. The growing spanning tree is\nplayed in slow motion - as with the traversal algorithms and a \"child=parent\" pair list is displayd in the status label.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fgraph-algorithms-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwisskirchenj%2Fgraph-algorithms-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fgraph-algorithms-visualizer/lists"}