A beautiful, modern web application to extract and visualize GitHub repository details with comprehensive analytics. Features include repository health scoring, commit analysis, contributor statistics, language distribution charts, and real-time data from GitHub API with glassmorphism UI design.
- Repository Metadata Extraction: Name, description, owner, creation date, last updated, visibility, license, topics, stars, forks, watchers
- Language Distribution: Visual pie chart showing programming language breakdown
- Commit Analysis: Timeline visualization with commit activity tracking
- Contributor Statistics: Bar charts and rankings of top contributors
- Issues & Pull Requests: Complete tracking of open/closed issues and PRs
- File System Browser: Navigate repository structure with file listings
- Repository Health Score: Algorithm-based scoring for repository quality
- Glassmorphism UI: Beautiful glass morphism effects with backdrop blur
- Responsive Layout: Works seamlessly on desktop, tablet, and mobile
- Dark Theme: Eye-friendly dark color scheme with vibrant accents
- Smooth Animations: AOS (Animate On Scroll) library integration
- Interactive Charts: Chart.js powered visualizations
- Material Icons: Google Material Icons throughout
- GitHub API Integration: Real-time data fetching from GitHub REST API
- Authentication Support: Optional token support for increased rate limits (60 β 5000 requests/hour)
- Rate Limit Tracking: Live display of remaining API requests
- Error Handling: Graceful error messages and validation
- Loading States: Skeleton loaders and progress indicators
- Example Repositories: Quick access to popular repos (React, VS Code, Next.js, TensorFlow)
- Developers: Quickly analyze repositories before contributing or forking
- Project Managers: Monitor team activity and repository health
- Recruiters: Evaluate candidate contributions and project engagement
- Researchers: Study open-source project patterns and trends
- Students: Learn from popular repositories and understand project structures
| Technology | Purpose |
|---|---|
| HTML5 | Semantic markup and structure |
| CSS3 | Modern styling with Flexbox/Grid, animations, glassmorphism |
| JavaScript (ES6+) | Async/await, Fetch API, DOM manipulation |
| Chart.js | Interactive data visualizations |
| AOS | Animate On Scroll library |
| GitHub REST API | Real-time repository data |
| Google Fonts | Inter, Poppins, Fira Code typography |
| Material Icons | Comprehensive icon library |
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Internet connection for API requests
- (Optional) GitHub Personal Access Token for increased rate limits
-
Clone the repository
git clone https://github.com/KDippan/github-repository-analyzer.git cd github-repository-analyzer -
Open locally
# Simply open index.html in your browser open index.html # Or use a local server (recommended) python -m http.server 8000 # Visit http://localhost:8000
-
Deploy to Netlify (Recommended)
- Drag and drop the folder to Netlify Drop
- Or connect your GitHub repository for automatic deployments
-
Enter Repository URL
- Paste any GitHub repository URL (e.g.,
https://github.com/facebook/react) - Click "Analyze" button
- Paste any GitHub repository URL (e.g.,
-
Add GitHub Token (Optional)
- Click "Add Token" button in header
- Generate a token at GitHub Settings > Developer Settings > Personal Access Tokens
- Required scopes:
public_repo(for public repos) - Increases rate limit from 60 to 5000 requests/hour
-
Explore Tabs
- Overview: Repository stats, language distribution
- Commits: Commit timeline and history
- Contributors: Top contributors and their stats
- Issues & PRs: Open/closed issues and pull requests
- Files: Repository file structure
- Analytics: Health score and engagement metrics
- β Name, description, owner
- β Creation & last update dates
- β Stars, forks, watchers count
- β Open issues count
- β License type
- β Topics/tags
- β Default branch
- β Repository size
- β Programming languages
- β Commit history (last 100)
- β Commit messages
- β Author information
- β Commit dates
- β Activity timeline
- β Top 30 contributors
- β Contribution counts
- β Contributor profiles
- β Open/closed issues
- β Pull request status
- β Issue titles and authors
- β Creation dates
- β Root directory structure
- β File/folder names
- β File sizes
- β Content types
| Limitation | Details |
|---|---|
| API Rate Limits | 60 requests/hour (unauthenticated), 5000/hour (with token) |
| Directory Listings | Limited to 1,000 files via API |
| Private Repositories | Requires authentication token with appropriate scopes |
| Large Repositories | May require pagination for complete data (handled automatically) |
| Repository Size | Recommended under 5GB for optimal performance |
The app calculates a health score (0-100) based on:
- Recent Activity (30 points): Commits in last 30 days
- Community Engagement (45 points): Stars and forks (logarithmic scale)
- Documentation (10 points): Has wiki, description
- Issue Management (15 points): Ratio of closed to total issues
Score Interpretation:
- π’ 80-100: Excellent - Very healthy repository
- π‘ 60-79: Good - Active and maintained
- π 40-59: Fair - Moderate activity
- π΄ 0-39: Poor - Low activity or maintenance
Primary: #6366f1 (Indigo)
Secondary: #8b5cf6 (Purple)
Accent: #ec4899 (Pink)
Background: #0f172a (Dark Blue)
Surface: #1e293b (Slate)
Text: #f8fafc (Off White)- Primary Font: Inter (UI elements)
- Secondary Font: Poppins (Headings)
- Monospace Font: Fira Code (Code blocks)
- Glassmorphism with backdrop blur
- Smooth transitions and animations
- Gradient backgrounds
- Shadow elevations
- Hover state transformations
- No Data Collection: All analysis happens client-side
- Local Storage: Optional GitHub token stored locally in browser
- No Server: Direct API calls to GitHub (no intermediary)
- Open Source: Complete transparency of code
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Add more visualizations (heatmaps, network graphs)
- Implement repository comparison feature
- Add export to PDF functionality
- Create browser extension version
- Add dark/light theme toggle
- Implement search history
- Add bookmark feature
- Improve mobile responsiveness
- Compare multiple repositories side-by-side
- Dependency tree visualization
- Security vulnerabilities check integration
- Code frequency analysis
- Commit heatmap calendar
- Repository recommendations based on analysis
- Export reports as PDF
- Browser extension version
- Light theme support
- Keyboard shortcuts
- Advanced search filters
- Bookmark and save favorite repos
- Historical data tracking
- Rate limit may be reached quickly without authentication token
- Very large repositories (>10,000 files) may have incomplete file listings
- Some private repositories may not be accessible even with tokens
- GitHub REST API Documentation
- Chart.js Documentation
- AOS Animation Library
- Material Icons Guide
- Glassmorphism Design Trend
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 KDippan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
KDippan
- GitHub: @KDippan
- Project Link: github-repository-analyzer
- Live Demo: github-repository-analyzer.netlify.app
- GitHub for providing the comprehensive REST API
- Chart.js team for excellent visualization library
- AOS library for smooth scroll animations
- Material Design team for beautiful icons
- Open source community for inspiration
If you find this project useful, please consider:
- β Starring the repository
- π Reporting bugs and issues
- π‘ Suggesting new features
- π Contributing code
- π’ Sharing with others
Built with β€οΈ by developers, for developers
π Live Demo β’ π Documentation β’ π Report Bug β’ β¨ Request Feature
Made with π» and β | Powered by GitHub API | Β© 2025 KDippan