← Back to Home

RepoVizualizer

A web app for visualizing GitHub repository structure, commits, and contributors.
ACTIVE PROJECT
Project Information
Type Web Application
Status Early Development
Language HTML / Python
Backend Flask
Deployment Docker / Jenkins
Repository Github
Deployment repo-vizualizer

Overview

RepoVizualizer is a lightweight full-stack tool for exploring GitHub repositories visually. A Flask backend wraps the GitHub REST API, while the frontend renders the returned data — file tree, commits, branches, and contributors — into an interactive graph.

The goal is to give a quick, visual sense of a repository's shape and activity without digging through GitHub's UI manually.

Features

  • Fetches repository metadata (stars, forks, issues, license, language)
  • Recursive file tree visualization, capped at 300 nodes for readability
  • Recent commit history with author and timestamp
  • Branch listing
  • Contributor list with avatars and contribution counts
  • Optional GitHub token support to avoid API rate limits
  • CORS-enabled API for easy frontend integration

Requirements

  • Python 3.7+
  • Flask
  • Flask-CORS
  • requests
  • Docker (optional, for containerized deployment)

Usage

Run the backend locally, or via Docker Compose, then open the frontend and enter a repository in owner/repo format.

  • Set an optional GITHUB_TOKEN environment variable to raise API rate limits
  • Query any public repository by owner and name
  • Explore the generated file tree, commit history, and contributors

API Endpoints

  • GET /api/repo/info — repository metadata
  • GET /api/repo/commits — last 30 commits
  • GET /api/repo/branches — up to 50 branches
  • GET /api/repo/contributors — top 20 contributors
  • GET /api/repo/tree — recursive file tree
  • GET /health — health check

Known Limitations

The project is still minimal and focused on core data retrieval rather than polish.

  • File tree capped at 300 nodes on large repositories
  • No authentication or per-user rate limiting beyond a single token
  • No caching layer, so repeated queries re-hit the GitHub API
  • Public repositories only

Future Enhancements

  • Interactive, zoomable graph rendering of the file tree
  • Commit activity heatmap
  • Caching to reduce GitHub API calls
  • Support for private repositories via OAuth
  • Dependency graph visualization

Development Notes

Built to make sense of unfamiliar repositories quickly, without clicking through GitHub's file browser page by page.

The backend is a thin, stateless wrapper around the GitHub REST API, keeping the deployment simple and easy to containerize.