Skip to content

kdippan/github-repository-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” GitHub Repository Analyzer

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.

Live Demo GitHub License

GitHub Repository Analyzer HTML5 CSS3 JavaScript


✨ Features

πŸ“Š Comprehensive Analytics

  • 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

🎨 Modern Design

  • 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

πŸš€ Advanced Functionality

  • 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)

🎯 Use Cases

  • 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

πŸ–ΌοΈ Screenshots

Dashboard Overview

Dashboard

Commit Analysis

Commits

Contributors Ranking

Contributors


πŸ› οΈ Technologies Used

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

πŸš€ Getting Started

Prerequisites

  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • Internet connection for API requests
  • (Optional) GitHub Personal Access Token for increased rate limits

Installation

  1. Clone the repository

    git clone https://github.com/KDippan/github-repository-analyzer.git
    cd github-repository-analyzer
  2. 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
  3. Deploy to Netlify (Recommended)

    • Drag and drop the folder to Netlify Drop
    • Or connect your GitHub repository for automatic deployments

Usage

  1. Enter Repository URL

    • Paste any GitHub repository URL (e.g., https://github.com/facebook/react)
    • Click "Analyze" button
  2. Add GitHub Token (Optional)

  3. 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

πŸ“Š Data Extracted

Repository Information

  • βœ… 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 Data

  • βœ… Commit history (last 100)
  • βœ… Commit messages
  • βœ… Author information
  • βœ… Commit dates
  • βœ… Activity timeline

Contributors

  • βœ… Top 30 contributors
  • βœ… Contribution counts
  • βœ… Contributor profiles

Issues & Pull Requests

  • βœ… Open/closed issues
  • βœ… Pull request status
  • βœ… Issue titles and authors
  • βœ… Creation dates

Files & Contents

  • βœ… Root directory structure
  • βœ… File/folder names
  • βœ… File sizes
  • βœ… Content types

⚠️ Limitations

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

πŸ“ˆ Repository Health Scoring

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

🎨 Design System

Color Palette

Primary: #6366f1 (Indigo)
Secondary: #8b5cf6 (Purple)
Accent: #ec4899 (Pink)
Background: #0f172a (Dark Blue)
Surface: #1e293b (Slate)
Text: #f8fafc (Off White)

Typography

  • Primary Font: Inter (UI elements)
  • Secondary Font: Poppins (Headings)
  • Monospace Font: Fira Code (Code blocks)

Effects

  • Glassmorphism with backdrop blur
  • Smooth transitions and animations
  • Gradient backgrounds
  • Shadow elevations
  • Hover state transformations

πŸ”’ Privacy & Security

  • 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

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Ideas for Contributions

  • 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

πŸ“ Roadmap

  • 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

πŸ› Known Issues

  • 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

πŸ“š Resources


πŸ“„ License

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.

πŸ‘€ Author

KDippan


🌟 Acknowledgments

  • 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

πŸ’– Support

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

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages