Skip to content

zhravan/gitalytics

Repository files navigation

📊 Gitalytics

Powerful analytics and insights for GitHub repositories

Gitalytics; an instant insights into repository health, community engagement, and development activity.

License

Features

  • Repository Overview

    • Stars, forks, and watchers count
    • Language statistics
    • License information
    • Topics and tags
  • Community Insights

    • Active contributors
    • Issue resolution times
    • PR merge rates
    • Community engagement metrics
  • Development Activity

    • Commit frequency
    • Code additions/deletions
    • Release history
    • Branch activity
  • Documentation Health

    • Documentation completeness score
    • Essential files check (README, LICENSE, etc.)
    • Contributing guidelines status
    • Issue/PR templates verification

Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • GitHub Personal Access Token

Installation

  1. Clone the repository:

    git clone https://github.com/shravan20/gitalytics.git
    cd gitalytics
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp .env.example .env
  4. Add your GitHub token:

  5. Start the development server:

    npm run dev
  6. Open http://localhost:8080 in your browser

Tech Stack

  • Frontend Framework: React with TypeScript
  • Styling: Tailwind CSS + shadcn/ui
  • State Management: React Query
  • Charts: Recharts
  • Build Tool: Vite
  • API: GitHub REST API

Usage

  1. Enter a GitHub repository name in the format owner/repository (e.g., facebook/react)
  2. View instant analytics including:
    • Repository statistics
    • Community health metrics
    • Development activity
    • Documentation status

Example Repositories to Try

  • facebook/react
  • tensorflow/tensorflow
  • microsoft/vscode

🤝 Contributing

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

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

Documentation

Key components and their purposes:

  • Dashboard.tsx: Main analytics dashboard component
  • githubService.ts: GitHub API integration service
  • docsService.ts: Documentation analysis service
  • Chart.tsx: Reusable chart components
  • MetricCard.tsx: Analytics metric display cards

API Rate Limits

  • Without authentication: 60 requests/hour
  • With authentication: 5,000 requests/hour
  • Use a GitHub token to increase your rate limit

Performance Features

Caching System

  • IndexedDB Storage: Local caching of API responses
  • Cache Duration: 15-minute expiration
  • Smart Caching: Caches both successful responses and 404s
  • Manual Control: Clear cache button in UI

Performance Optimizations

  • Parallel Data Fetching: Concurrent API requests
  • Request Batching: Grouped API calls
  • Error Recovery: Automatic retries for failed requests
  • Rate Limit Handling: Smart backoff strategy

Features Coming Soon

  • Repository comparison
  • Contributor insights
  • Code quality metrics
  • Custom date ranges
  • PDF report export
  • Team collaboration

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Contact

Shravan - @shravan20

Project Link: https://github.com/shravan20/gitalytics


Made with ❤️ in FOSS by Shravan

About

Insights into any GitHub-hosted open source project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages