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.
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:
Analyze and compare multiple GitHub repositories simultaneously.
Track contribution consistency, impact, and collaboration metrics.
Visualize repository intelligence using Chart.js and Mermaid.js.
OAuth-based authentication using Auth0 and JWT validation.
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 │
└──────────────────────┘
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.
The backend was developed using FastAPI because of its asynchronous architecture, lightweight performance, and clean API development workflow.
The backend handles:
@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
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.
| 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 |
Optimized asynchronous requests and reduced unnecessary GitHub API calls.
Processed large contributor datasets and repository activity efficiently.
Implemented dynamic dashboard updates without page reloads.
Integrated OAuth authentication and JWT-based route validation.