GRASBOCK / depviz

Dependency chart for gitlab
0 stars 0 forks source link

Reference #1

Open GRASBOCK opened 4 months ago

GRASBOCK commented 4 months ago

Here I will write down some references, ideas, requirements and generally thoughts on how to tackle this.

What I want is some kind of visualization to show how different issues on gitlab or github are related to each other. I want to better understand which issues to tackle first and see in one view something akin to an automated roadmap. The priority is one seeing the dependencies and not the timeline.

GRASBOCK commented 4 months ago

Requirements:

GRASBOCK commented 4 months ago

Originally came across an issue in gitlab itself, which seems to have been open since 3 years. The focus is more on epics, but I guess could be expanded to issues.

A related issue shows the use of mermaid graph visualization, however I learned that big mermaid graphs are a pain. The lack of zooming and in GitLab the mermaid settings are strict, so one cannot use nodes interactively.

GanttLab looks cool, but it is specific to gantt charts. This will definitely cover the need of many, but I don't want a gantt chart as it is focused more on time than dependencies. I wasn't able to test it because "No response error", which seemed to come from a CORS error? Sadly the project seems dead.
Though I really like the idea of doing it in browser only.

I shamelessly stole the name from the other depviz repo, which has very inspiring visualizations (exactly what I want).

Ticket Dependency Graph works only with Trello, but their live demo represents what I want.

A seemingly easy way to visualize also seems to be displayed in this issue. It would allow some sort of table view in where the dependencies are clearly visible. I think this might be the easiest first implementation (because I won't have to deal with node layout).

Generally it seems (according to a study/comment), that having different views is best, to aid in cognitive and visual processes.

GRASBOCK commented 4 months ago

An MVP could look like the following:

  1. A user comes to the gitlab page.
  2. He inserts a link to the repository or issue tracker that he wants to use (gitlab, github). Specifically an epic to be crawled.
  3. The site generates an iframe or html page that contains the input information. The iframe or page can be embedded in another site.
  4. The user inserts the iframe into their page.
  5. Once a client loads the iframe it will do the OAuth process for gitlab and then recursively query the issues from the clients browser. The iframe is an SPA, that shows the graph and stores the information in browser local storage (for caching)