Visualizing GitHub Projects with Interactive Graphs

Managing GitHub projects can get messy. Between tracking issues, pull requests, and team performance, it’s easy to lose sight of the bigger picture. I often found myself wondering how to better understand my team’s progress or spot patterns in our workflow without spending hours digging through GitHub data.

To make things easier, I built GitHub Issue Graph, a React app that turns your GitHub project data into interactive charts and graphs. It’s a simple way to track sprint velocity, analyze workload distribution, and even visualize issue dependencies.

Let me walk you through how it works and what it can do.


The Problem

GitHub is great for managing projects, but it doesn’t always give you the insights you need. For example:

Answering these questions usually means manually analyzing data, which is tedious and time-consuming. I wanted a tool that could automate this and present the data in a way that’s easy to understand.


How GitHub Issue Graph Works

The app connects to your GitHub repository and fetches data about issues, pull requests, and more. Here’s a quick overview of how it works:

  1. User Input: You provide details like the repository owner, name, and an optional project ID. A GitHub token is required for API access.
  2. Data Fetching:
  3. Data Processing: The fetched data is normalized into a flat array and stored in your browser’s localStorage.
  4. Visualization: The app parses this data and generates interactive graphs to help you analyze your project.

Here’s a flowchart to make it clearer:

flowchart TD
    A[User Input] -->|Project ID Entered| B[GraphQL Calls to GitHub API]
    A -->|Only Repository Entered| C[REST Calls to GitHub API]
    B --> D[Response Normalized into Flat Array]
    C --> D
    D --> E[Stored in localStorage]
    E --> F[Parsed and Massaged by Graphs]
    F --> G[Various Visualizations Displayed]

Features

1. Interactive Visualizations

The app provides a variety of charts to help you understand your project at a glance:

Project Overview

2. Team Analysis

You can monitor team performance with charts that show:

Team Analysis

3. Pull Request Insights

Analyze pull request patterns with charts like:

Pull Requests

4. Automated Insights

The app generates automated insights based on your data. These insights are color-coded for easy interpretation:

!Insights


How to Use

Getting started is simple:

  1. Enter your GitHub repository details in the configuration section:
  2. Click the “Render” button to fetch and display your repository data.

Limitations

While the app is quite handy, it does have some limitations:


Getting Started

If you’d like to try GitHub Issue Graph, follow these steps:

  1. Clone the repository:
    1
    
    git clone https://github.com/vivekkodira/github-issue-graph.git
    
  2. Install dependencies:
    1
    
    npm install
    
  3. Run the app:
    1
    
    npm run dev
    

You can also access the hosted version at GitHub Issue Graph.


References

Feel free to explore the app and let me know what you think!