Skip to content

ishandutta2007/Github-Analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GitHub Analytics Banner

๐Ÿ“Š GitHub Analytics

GitHub Contribution Tracker & Analyzer
Track, analyze, and predict your GitHub contributions with insightful metrics, beautiful charts, and dynamic achievements!

Awesome GitHub commit activity GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub forks GitHub last commit GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub Repo stars GitHub followers

GitHub Contribution Tracker is a powerful Streamlit web application designed to visualize your GitHub user contributions. By leveraging the GitHub GraphQL API, it fetches and displays a detailed history of your contributions, enabling you to track, analyze, and boost your open-source growth.

โ„น๏ธ Now features Machine Learning to predict user contribution over a year using previous year's contribution data!

GitHub Analytics Main Dashboard GitHub Analytics Predictions Dashboard

๐Ÿš€ Features

๐Ÿ“ˆ User Stats Overview
  • ๐Ÿง‘โ€๐Ÿ’ป User Stats:

    • Total contributions across all repositories (Now shows no. of private and public commits).
    • Highest contributions in a single day (Now shows date).
    • Current streak of consecutive contribution days.
    • Longest streak of consecutive contribution days.
    • GitHub joining date, total no. of days on GitHub and no. of active days.
  • ๐Ÿ“… Yearly Growth Stats:

    • Total contribution in previous year
    • Rate of contribution
    • No. of activate days
    • Percentage of days active in the year
    • Same for current year for comparison
  • ๐Ÿ“Š Visualizations:

    • Contributions Over Time: A line chart showing daily contributions.
    • Yearly Growth: A bar chart summarizing contributions year by year.
    • Day-of-Week Analysis: Contributions grouped by the day of the week.
    • Weekday vs. Weekend Contributions: A bar chart comparing contributions made on weekdays versus weekends.
    • Programming Languages: Pie chart and a table showing which programming languages are used and in how many repos
  • ๐Ÿ† Achievements:

    • Dynamic achievements unlocked based on contribution and streak activity, such as:
      • "๐Ÿ”ฅ Streak Warrior": A streak of over 30 days.
      • "๐Ÿ’ช Commit Master": Total contributions exceeding 1000.
๐Ÿ”ฎ User Contribution Predictions
  • ๐Ÿ“ˆ Predictions & Trends:

    • Contribution Rate Growth: Growth in contribution rate compared to last year
    • Predicted Contributions This Year: Total predicted commits this year, if user continues to contribute at the same rate
    • Predicted Active Days This Year: Total predicted active days this year, if user continues to contribute at the same rate
  • ๐ŸŽฏ Milestone Estimations:

    Predicts for milestones [100, 500, 1000, 2000, 5000, 10000] contributions:

    • Number of days required to achieve commit milestones
    • Date on which milestone will be achieved

๐Ÿ› ๏ธ Installation

๐Ÿ“‹ Prerequisites

  1. ๐Ÿ Python 3.7 or higher.
  2. ๐Ÿ”‘ GitHub personal access token with GraphQL API access.
  3. ๐ŸŒ Streamlit (pip install streamlit).

โš™๏ธ Setup Instructions

  1. Clone the repository:

    git clone https://github.com/ishandutta2007/GitHub-Analytics.git
    cd GitHub-Analytics
  2. Set up a virtual environment (Optional but recommended):

    Using venv:

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`

    Alternatively, using pyenv:

    pyenv virtualenv github-analytics-env
    pyenv activate github-analytics-env
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the app:

    streamlit run app.py
  5. Open your browser and navigate to the URL shown in the terminal (usually http://localhost:8501).


๐Ÿ’ก Usage

  1. Enter your GitHub Username.
  2. Provide a GitHub Personal Access Token (with read:user and repo scopes for GraphQL API access).
  3. View detailed stats, visualizations, and achievements based on your contribution data.

๐Ÿ”‘ How to Generate a GitHub Personal Access Token

  1. Go to GitHub Developer Settings.
  2. Click on Generate new token (classic) or Generate token (for fine-grained).
  3. Select the following scopes:
    • repo
    • read:user
  4. Copy the generated token and use it in the app.

๐Ÿ“‚ Folder Structure

github-contribution-tracker/
โ”œโ”€โ”€ github_stats.py         # Logic for fetching and processing GitHub contribution data.
โ”œโ”€โ”€ app.py                  # Streamlit app for displaying the dashboard.
โ”œโ”€โ”€ requirements.txt        # Python dependencies.
โ””โ”€โ”€ README.md               # Project documentation.

๐Ÿ”ฎ Future Improvements

  • ๐Ÿ… Add achievements in form of badges.
  • ๐Ÿ“ฆ Include repository-specific stats (e.g., most active repositories).
  • ๐Ÿ—“๏ธ Display contributions grouped by month.
  • ๐Ÿ‘ฅ Add user rankings for team or organization collaboration.

๐Ÿ“ธ Screenshots

Click to View Images ๐Ÿ“ท

Dashboard View 1

Dashboard View 2

Dashboard View 3

Dashboard View 4

Dashboard View 5


๐Ÿค Contributing

Contributions are welcome! To contribute:

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

๐Ÿ“„ License

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


๐Ÿ™ Acknowledgements


โœจ Star History

Star History Chart

About

Github's Stats and Analytics ๐ŸŒŸ Star if you like it! ๐ŸŒŸ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors