Engineering Case Study

Repo-Analyzer with Visual Dashboard

A full-stack repository analytics platform that transforms GitHub repository data into actionable engineering insights using FastAPI, asynchronous APIs, contributor analytics, and interactive dashboard visualization.

Project Overview

Repo-Analyzer is a repository intelligence platform designed to analyze GitHub repositories and visualize engineering insights through modern dashboards and structured analytical workflows.

The system fetches repository metadata, commits, contributors, branch activity, and repository health indicators using the GitHub REST API and transforms them into interactive engineering analytics.

The project was designed with a strong focus on:

Core Features

Multi Repository Analysis

Analyze and compare multiple GitHub repositories simultaneously.

Contributor Analytics

Track contribution consistency, impact, and collaboration metrics.

Interactive Dashboard

Visualize repository intelligence using Chart.js and Mermaid.js.

Secure Authentication

OAuth-based authentication using Auth0 and JWT validation.

System Architecture

The application follows a layered architecture separating frontend rendering, API communication, analytics processing, and visualization systems.


┌──────────────────────┐
│      Frontend UI     │
│ HTML • CSS • JS      │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│      FastAPI API     │
│ Async Backend Layer  │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│ GitHub REST API      │
│ Repository Data      │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│ Analytics Engine     │
│ Data Processing      │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│ Visualization Layer  │
│ Charts & Dashboard   │
└──────────────────────┘

Application Workflow


User Login
    │
    ▼
Repository Selection
    │
    ▼
FastAPI Backend
    │
    ▼
GitHub API Fetching
    │
    ▼
Analytics Processing
    │
    ▼
JSON Response
    │
    ▼
Dashboard Visualization

The frontend communicates asynchronously with the backend using REST APIs. Dashboard components dynamically update without requiring page reloads.

Backend Engineering

The backend was developed using FastAPI because of its asynchronous architecture, lightweight performance, and clean API development workflow.

The backend handles:

Sample FastAPI Route


@app.get("/repos/{owner}/{repo}")

async def fetch_repository(owner: str, repo: str):

    data = github_service.fetch_repo(owner, repo)

    analytics = process_repository_data(data)

    return analytics

Analytics Processing

The analytics engine transforms raw GitHub repository data into structured engineering insights.

Instead of simply counting commits, the Contributor Analytics Engine evaluates activity consistency, collaboration participation, and contribution distribution.

Technology Stack

Layer Technologies
Frontend HTML5, CSS3, JavaScript
Backend FastAPI, Python
Authentication Auth0, OAuth 2.0, JWT
Visualization Chart.js, Mermaid.js, Three.js
Database MongoDB
API Integration GitHub REST API

Engineering Challenges

API Rate Limiting

Optimized asynchronous requests and reduced unnecessary GitHub API calls.

Large Data Aggregation

Processed large contributor datasets and repository activity efficiently.

Real-Time Updates

Implemented dynamic dashboard updates without page reloads.

Authentication Security

Integrated OAuth authentication and JWT-based route validation.

Future Scope