{"id":22711698,"url":"https://github.com/manyakrus/image_connections","last_synced_at":"2025-04-13T16:13:06.874Z","repository":{"id":191172801,"uuid":"684049763","full_name":"ManyakRus/image_connections","owner":"ManyakRus","description":"Graph of connections to external services, for the golang language. Designed to display all connections to external services of any repository in the Golang language in the form of a diagram (graph)","archived":false,"fork":false,"pushed_at":"2024-11-21T08:29:24.000Z","size":7017,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T16:13:02.005Z","etag":null,"topics":["automatic","connections","diagram","external","golang","graph","graph-of-connections-to-external-services","image","repository","services"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ManyakRus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-08-28T10:54:51.000Z","updated_at":"2024-12-30T22:28:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ccf71be-09de-4057-bc1b-59129bb580e3","html_url":"https://github.com/ManyakRus/image_connections","commit_stats":null,"previous_names":["manyakrus/image_connections"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fimage_connections","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fimage_connections/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fimage_connections/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fimage_connections/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ManyakRus","download_url":"https://codeload.github.com/ManyakRus/image_connections/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741194,"owners_count":21154255,"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","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":["automatic","connections","diagram","external","golang","graph","graph-of-connections-to-external-services","image","repository","services"],"created_at":"2024-12-10T13:07:49.829Z","updated_at":"2025-04-13T16:13:06.843Z","avatar_url":"https://github.com/ManyakRus.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Graph of connections to external services, for the golang language.\n\nThe image_connections console utility is designed to display all connections to external services of any repository in the Golang language\nin the form of a diagram (graph) in .graphml format, which can be converted into a .jpg image, etc.\nThe source code of the repository is automatically parsed to find imports of external service modules.\nIt is necessary to understand what services this repository interacts with,\nto study or better understand the call structure of the source code.\nDisplayed:\n- the name of the current repository\n- names of external services, arrows to them\n\n![connections](https://github.com/ManyakRus/image_connections/assets/30662875/1126e873-ddf6-4b3a-ae48-6a8974f6c257)\n\n\nSample execution (pictures) can be found in the examples directory\n\nConfigured to display the following services:\n- PostgreSQL\n- MSSQL\n- Kafka\n- Nats\n- Minio\n- Email\n- Web\n- Web socket\n- Camunda\n- whatsapp\n- Telegram\n- Chat GPT\n- Redis\n- Keycloak\n- Prometeus\n- and etc.\n\nYou can add other services to the list in the files:\nsettings/connections.txt\nsettings/connections_add.txt\n\nInstallation order:\n1. Install the .graphml file editor yEd (free)\nhttps://www.yworks.com/products/yed/download\n\n2. Compile this repository\n\u003emake build\n\u003e\nimage_connections file will appear in the bin folder\n\n3. Run the image_connections file with parameters:\n\u003eimage_connections \u003cyour repository main.go file directory\u003e \u003cfilename.graphml\u003e \u003cyour repository name\u003e\n\u003e\n(or make an .env file\nDIRECTORY_SOURCE=\nFILENAME_GRAPHML=\nSERVICE_NAME=\n)\n\n4. Open the resulting .graphml file in the yEd editor\n(all elements will be in the center of the screen first)\nand select from the menu:\nLayout - Radial\n- The yEd editor will arrange all the elements of the circuit in an optimal way.\nYou can also select a different Layout type to change the display.\n\n5. Export the scheme to a picture.\nSelect from the menu:\nFile-Export\n\n\nSource code in Golang.\nTested on Linux Ubuntu\nReadme from 29.08.2023\n\nMade by Aleksandr Nikitin\nhttps://github.com/ManyakRus/image_connections\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanyakrus%2Fimage_connections","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanyakrus%2Fimage_connections","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanyakrus%2Fimage_connections/lists"}