A modern, interactive dashboard that provides deep insights into GitHub repository contributions. commitScope visualizes collaboration patterns, code changes, and developer activity โ helping teams understand their development workflows at a glance.
๐ Live App: commitscope.vercel.app ๐ฆ Repo: github.com/samiranpal2004/gitcontri
- Overview
- Features
- Project Structure
- Technologies Used
- Application Flow
- Key Concepts
- Roadmap
- Installation
- Development
- Deployment
- API Documentation
- License
commitScope gives you a comprehensive view of any GitHub repository's collaboration patterns and code activity. By entering a public repository in the format username/repo, you instantly get an interactive dashboard showing contributor metrics, code change breakdowns, leaderboards, and feature vs. bug-fix distributions.
Why commitScope? Understanding contribution patterns helps teams recognize valuable members, distribute work more effectively, and make data-driven decisions about project development. Whether you're a solo dev reviewing open-source contributions or a team lead tracking effort distribution โ commitScope has you covered.
๐ Coming soon: Private repository support via GitHub OAuth โ see Roadmap.
- Repository Analysis โ Enter any public GitHub repository to analyze instantly
- Contributor Statistics โ View detailed per-contributor metrics
- Interactive Dashboard โ Dynamic filtering and data visualizations
- Contribution Leaderboard โ Rank contributors by commits, features, or bug fixes
- Code Change Analysis โ Visualize lines added vs. deleted per contributor
- Feature & Bug Fix Tracking โ Understand the distribution of development efforts
- Responsive UI โ Works across desktop and mobile screen sizes
- Smooth Animations โ Powered by Framer Motion for a polished experience
gitcontri/
โโโ frontend/ # React frontend application
โ โโโ src/
โ โ โโโ components/ # UI components (charts, cards, leaderboard, etc.)
โ โ โโโ styles/ # Global CSS and theme variables
โ โ โโโ App.jsx # Main application component
โ โ โโโ main.jsx # Entry point
โ โโโ public/ # Static assets
โ โโโ index.html # HTML template
โโโ backend/ # Node.js/Express API server
โ โโโ index.js # Server entry point
โ โโโ routes/ # API route handlers
โ โโโ services/ # Business logic & GitHub API integration
โโโ ARCHITECTURE-EXPLAINED.md # System design documentation
โโโ DEPLOYMENT-GUIDE.md # Step-by-step deployment instructions
โโโ QUICKSTART.md # Quick start for local development
โโโ TROUBLESHOOTING.md # Common issues and fixes
โโโ README.md # Project documentation
| Library | Purpose |
|---|---|
| React | Core UI library |
| Tailwind CSS | Utility-first styling |
| Recharts | Interactive data visualizations |
| Framer Motion | Smooth animations and transitions |
| Shadcn UI | Accessible component library (Radix UI) |
| Lucide React | Icon library |
| Library | Purpose |
|---|---|
| Node.js | JavaScript runtime |
| Express | REST API framework |
| Axios | HTTP client for GitHub API requests |
| GitHub REST API | Data source for repository information |
User Input (username/repo)
โ
Frontend sends request to Express backend
โ
Backend calls GitHub REST API (with optional auth token)
โ
Server processes & enriches raw data
โ
Frontend receives structured metrics
โ
Dashboard renders interactive charts & leaderboard
โ
User filters, sorts, and explores the data
- Commits โ Direct code contributions tracked in history
- Pull Requests โ Proposed changes submitted for review
- Code Changes โ Lines of code added or deleted
- Features Added โ New functionality introduced (inferred from commit messages)
- Bugs Fixed โ Issues resolved in the codebase (inferred from commit messages)
- Bar Charts โ Compare contributor activity side by side
- Pie Charts โ Show proportional distributions across the team
- Progress Bars โ Visualize percentages and relative effort
- Leaderboards โ Rank contributors by any available metric
- Stat Cards โ Focused summaries for specific repository metrics
- Public repository analysis
- Contributor leaderboard and charts
- Code additions/deletions visualization
- Feature vs. bug-fix breakdown
- ๐ Private Repository Support via GitHub OAuth
- "Sign in with GitHub" button
- OAuth token used server-side for private repo API access
- Session-based token storage (never exposed to frontend)
- Skeleton loading states for a smoother data-fetch experience
- Improved error messages โ specific errors for 404, rate limits, and private repos
- API rate limit indicator in the footer
- Recent repo history via localStorage for faster re-analysis
- "Share Analysis" button โ copy a pre-filled URL to share results
- Response caching on the backend (5-minute TTL) to reduce GitHub API calls
- Commit timeline heatmap per contributor
- Language breakdown per contributor
- Compare two repositories side by side
- Export dashboard as PDF or PNG
- Node.js v14+
- npm or yarn
- A GitHub Personal Access Token (optional, but recommended for higher API rate limits)
cd frontend
npm install
npm run devcd backend
npm install
npm run devCreate a .env file in the backend/ directory:
# Required for private repo support (optional for public repos)
GITHUB_TOKEN=your_github_personal_access_token
# Server port
PORT=5000
# Frontend origin (for CORS)
CLIENT_URL=http://localhost:5173Tip: Generate a GitHub token at Settings โ Developer Settings โ Personal Access Tokens. Give it
reposcope for private repository access.
# Terminal 1 โ Start backend
cd backend
npm run dev
# Terminal 2 โ Start frontend
cd frontend
npm run devFrontend runs at http://localhost:5173 and proxies API calls to http://localhost:5000.
commitScope is deployed on Vercel (frontend + backend as serverless functions).
cd frontend
npm run build
# Deploy the dist/ folder to Vercel or any static hostcd backend
npm run build
# Deploy to Vercel, Railway, Render, or any Node.js hostFor detailed deployment steps, see DEPLOYMENT-GUIDE.md.
Base URL: https://gitcontri-backend.vercel.app
Returns a list of all contributors and their activity metrics for the specified repository.
Example:
GET /api/contributors/facebook/react
Returns aggregated statistics for the repository โ total commits, top contributors, code change summary, and more.
Example:
GET /api/stats/facebook/react
Both endpoints require a valid public repository. Private repository support is planned for v1.2.0 via OAuth token forwarding.
This project is licensed under the MIT License โ see the LICENSE file for details.
Built with โค๏ธ by Samiran Pal โ Copyright ยฉ 2025
โญ If you find commitScope useful, consider starring the repo!