Advanced GitHub repository analysis tool that evaluates repositories for activity, complexity, and learning difficulty.
- π Multi-Repository Analysis: Analyze up to 10 repositories in one go
- π Activity Score: Measures repository activity based on commits, contributors, and engagement
- π Complexity Analysis: Estimates codebase complexity using multiple factors
- π Learning Difficulty Classification: Classifies repos as Beginner, Intermediate, or Advanced
- π₯ Health & Maintainability Scores: Evaluates repository health and maintenance status
- β‘ Real-time Analysis: Fast API-driven analysis
- π¨ Beautiful UI: Modern, responsive interface with detailed visualizations
ActivityScore = (0.4 Γ commits_30d) +
(0.3 Γ contributor_count) +
(0.2 Γ star_count) +
(0.1 Γ open_issues_30d)
ComplexityScore = (0.35 Γ language_count) +
(0.35 Γ file_count) +
(0.2 Γ dependency_count) +
(0.1 Γ team_size)
- Beginner: Combined score < 35
- Intermediate: Combined score 35-65
- Advanced: Combined score > 65
MaintainabilityScore = (0.35 Γ recency_of_commits) +
(0.25 Γ commit_frequency) +
(0.25 Γ issue_resolution_rate) +
(0.15 Γ team_engagement)
- Frontend: Next.js 14, React 18, TailwindCSS
- Backend: Next.js API routes
- GitHub Integration: @octokit/rest
- Visualization: Recharts
- Deployment: Vercel-ready
- Node.js 18+
- GitHub API token (optional but recommended)
# Clone the repository
git clone https://github.com/yourusername/github-analyzer.git
cd github-analyzer
# Install dependencies
npm install
# Create .env.local file
cp .env.example .env.localCreate .env.local:
GITHUB_TOKEN=your_github_token_hereGet your GitHub token from: https://github.com/settings/tokens
npm run devOpen http://localhost:3000 in your browser.
npm run build
npm start- Navigate to the analyzer homepage
- Enter repository names in format:
owner/repoor full GitHub URLs - Click "Analyze Repositories"
- View detailed scores and insights
Request Body:
{
"repos": [
"facebook/react",
"vuejs/vue",
"angular/angular"
]
}Response:
{
"success": true,
"timestamp": "2026-03-23T10:30:00Z",
"analyzedCount": 2,
"data": [
{
"repository": {
"name": "react",
"owner": "facebook",
"url": "https://github.com/facebook/react",
"stars": 200000,
"forks": 42000
},
"metrics": {
"commits30d": 150,
"contributors": 1200,
"languages": ["JavaScript", "TypeScript"]
},
"scores": {
"activity": 92,
"complexity": 78,
"maintainability": 88,
"health": 86,
"learning": 45
},
"insights": {
"learningDifficulty": "Advanced",
"recommendation": "π Advanced project",
"bestForBeginners": false,
"activelyMaintained": true
}
}
]
}git init
git add .
git commit -m "Initial commit: GitHub Repository Analyzer"
git branch -M main
git remote add origin https://github.com/yourusername/github-analyzer.git
git push -u origin main- Go to https://vercel.com
- Sign in with GitHub
- Click "New Project"
- Select your repository
- Configure environment variables:
- Add
GITHUB_TOKENas an environment variable
- Add
- Vercel will automatically build and deploy on every push to main
- Your app will be available at:
https://github-analyzer-yourusername.vercel.app
- Activity Score: 92 (Highly active)
- Complexity Score: 78 (Advanced codebase)
- Learning Difficulty: Advanced
- Recommendation: π Advanced project
- Use Case: Production-level learning, contributes to major projects
- Activity Score: 85 (Very active)
- Complexity Score: 72 (Advanced)
- Learning Difficulty: Advanced
- Recommendation: π Advanced project
- Unauthenticated: 60 requests per hour
- Authenticated: 5000 requests per hour
For better rate limits, set GITHUB_TOKEN in environment variables.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE file for details
For issues and questions:
- Open an issue on GitHub
- Check existing documentation
- Review the API response format
Built with β€οΈ for GSoC 2026