Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

745 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Tracker Logo

🌟 GitHub Tracker

Track and analyze GitHub user activity in real time.

Monitor repositories, commits, pull requests, issues, and contribution trends through a clean and intuitive dashboard.

Built for developers, maintainers, recruiters, and open-source enthusiasts.

GitHub Stars GitHub Forks Open Issues Good First Issues License

GSSoC 2026 Last Commit


πŸ“š Table of Contents

πŸ“– About the Project

GitHub Tracker is a full-stack web application that helps users monitor and analyze GitHub activity in real time. Simply enter a GitHub username to explore repositories, commits, pull requests, issues, contribution trends, and other useful developer insights.

The project is designed for:

  • πŸ‘¨β€πŸ’» Developers tracking their open-source contributions
  • πŸ‘₯ Maintainers reviewing contributor activity
  • πŸ§‘β€πŸ’Ό Recruiters evaluating public GitHub profiles
  • πŸ“Š Teams analyzing repository engagement and productivity
  • 🌍 Open-source enthusiasts exploring developer metrics

By combining a modern frontend with a robust backend and GitHub API integration, GitHub Tracker presents actionable insights through a clean and intuitive dashboard.


🌐 Live Demo

πŸš€ Explore the application here:

Live Demo

You can use the live demo to:

  • Search for any public GitHub user
  • View repository and contribution metrics
  • Explore commits, pull requests, and issues
  • Analyze development activity trends

πŸ“Έ Screenshots

Screenshot 2026-05-16 155123 Screenshot 2026-05-16 155134 Screenshot 2026-05-16 155207

✨ Features

πŸ” User Search & Profile Insights

  • Search for any public GitHub username
  • View profile details such as bio, avatar, followers, following, and repositories
  • Access account statistics and contribution summaries

πŸ“ Repository Analytics

  • Browse all public repositories
  • View stars, forks, watchers, and open issues
  • Analyze repository popularity and activity

πŸ“ˆ Contribution Tracking

  • Track commits, pull requests, and issues
  • Monitor contribution trends over time
  • Identify recent development activity

⚑ Real-Time Data Fetching

  • Fetch live data from the GitHub API
  • Fast and responsive interface with optimized API requests

πŸ“Š Interactive Dashboard

  • Clean and intuitive UI
  • Visual representation of key metrics
  • Responsive design for desktop and mobile

πŸ”’ Robust Backend

  • Node.js and Express-based API layer
  • Secure authentication-ready architecture
  • Organized routes and services

πŸ§ͺ Testing Support

  • Backend unit and integration testing with Jasmine
  • Reliable and maintainable codebase

🌍 Open Source Friendly

  • Beginner-friendly issues and contribution guidelines
  • Active community support for GSSoC and first-time contributors

πŸ› οΈ Tech Stack

Frontend

  • βš›οΈ React.js
  • ⚑ Vite
  • 🎨 Tailwind CSS
  • 🧩 Material UI

Backend

  • 🟒 Node.js
  • πŸš‚ Express.js

Data Fetching & State Management

  • πŸ“‘ Axios
  • πŸ”„ React Query

Database & Authentication

  • πŸƒ MongoDB
  • πŸ” Passport.js
  • πŸ”‘ bcryptjs
  • πŸ—‚οΈ Express Session

Testing

  • πŸ§ͺ Jasmine
  • πŸ” Supertest

APIs

  • πŸ™ GitHub REST API

πŸ—οΈ Project Architecture

GitHub Tracker follows a full-stack client-server architecture.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Frontend        β”‚
β”‚ React + Vite         β”‚
β”‚ Tailwind + MUI       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚ HTTP Requests
          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Backend         β”‚
β”‚ Node.js + Express    β”‚
β”‚ REST API             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚
          β”œβ”€β”€ GitHub REST API
          └── MongoDB (optional authentication/data storage)

🧩 Architectural Components

Frontend (Client)

  • User interface built with React and Vite
  • Responsive styling with Tailwind CSS and Material UI
  • Data fetching and caching with React Query
  • Interactive charts and metrics display

Backend (Server)

  • RESTful API built with Node.js and Express
  • Authentication support with Passport.js
  • Session management using Express Session
  • Business logic and API integrations

External Services

  • GitHub REST API for real-time public repository and user data

Database (Optional)

  • MongoDB for user accounts, saved searches, and session persistence

🎯 Why This Architecture?

  • Clear separation of frontend and backend responsibilities
  • Scalable and maintainable codebase
  • Easy to test and extend
  • Supports future features such as saved reports, authentication, and analytics history

πŸ“‚ Folder Structure

github_tracker/
β”œβ”€β”€ client/                     # Frontend application (React + Vite)
β”‚   β”œβ”€β”€ public/                 # Static assets
β”‚   β”‚   β”œβ”€β”€ crl.png             # Project logo
β”‚   β”‚   └── screenshots/        # README screenshots
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ assets/             # Images, icons, fonts
β”‚   β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/              # Application pages
β”‚   β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ services/           # API calls and utilities
β”‚   β”‚   β”œβ”€β”€ context/            # Context providers
β”‚   β”‚   β”œβ”€β”€ App.jsx             # Root component
β”‚   β”‚   └── main.jsx            # Entry point
β”‚   β”œβ”€β”€ package.json
β”‚   └── vite.config.js
β”‚
β”œβ”€β”€ server/                     # Backend application (Node.js + Express)
β”‚   β”œβ”€β”€ config/                 # Database and Passport configuration
β”‚   β”œβ”€β”€ controllers/            # Route controllers
β”‚   β”œβ”€β”€ middleware/             # Custom middleware
β”‚   β”œβ”€β”€ models/                 # Database models
β”‚   β”œβ”€β”€ routes/                 # API routes
β”‚   β”œβ”€β”€ services/               # External API integrations
β”‚   β”œβ”€β”€ spec/                   # Jasmine unit & integration tests
β”‚   β”œβ”€β”€ app.js                  # Express application
β”‚   β”œβ”€β”€ server.js               # Server entry point
β”‚   └── package.json
β”‚
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/         # Issue templates
β”‚   β”œβ”€β”€ workflows/              # GitHub Actions CI/CD workflows
β”‚   └── pull_request_template.md
β”‚
β”œβ”€β”€ .env.example                # Example environment variables
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
└── package.json                # Optional root workspace config

πŸš€ Getting Started

Follow these steps to set up GitHub Tracker on your local machine.

πŸ“‹ Prerequisites

Make sure the following tools are installed:

  • :contentReference[oaicite:0]{index=0} (v18 or higher recommended)
  • :contentReference[oaicite:1]{index=1} (comes with Node.js)
  • :contentReference[oaicite:2]{index=2}
  • :contentReference[oaicite:3]{index=3} (required if authentication and persistence are enabled)

πŸ“₯ Clone the Repository

git clone https://github.com/GitMetricsLab/github_tracker.git
cd github_tracker

πŸ“¦ Install Dependencies

This project contains separate frontend and backend applications.

# Install frontend dependencies
cd client
npm install

# Install backend dependencies
cd ../server
npm install

# Return to the project root
cd...

πŸ” Configure Environment Variables

Create a .env file in the server/ directory and add the required environment variables.

cd server
cp .env.example .env

If .env.example is not available, create a new .env file manually.

You will configure the required variables in the next section: Environment Variables.

πŸ” Environment Variables

Create a .env file inside the server/ directory and configure the following variables:

# Server Configuration
PORT=5000
NODE_ENV=development

# Database
MONGODB_URI=mongodb://127.0.0.1:27017/github_tracker

# Session Secret
SESSION_SECRET=your_super_secret_key

# GitHub API (Optional but Recommended)
GITHUB_TOKEN=your_github_personal_access_token

πŸ“ Variable Descriptions

Variable Description
PORT Port on which the backend server will run
NODE_ENV Application environment (development or production)
MONGODB_URI MongoDB connection string
SESSION_SECRET Secret key used to sign sessions
GITHUB_TOKEN Personal Access Token to increase GitHub API rate limits

πŸ”‘ Creating a GitHub Token

  1. Go to https://github.com/settings/tokens
  2. Click Generate new token
  3. Select the required scopes (public data access is usually sufficient)
  4. Copy the token and add it to your .env file

⚠️ Never commit your .env file or expose secret keys publicly.


▢️ Running the Project

1️⃣ Start the Backend Server

cd server
npm start

The backend will typically run at:

http://localhost:5000

2️⃣ Start the Frontend Development Server

Open a new terminal and run:

cd client
npm run dev

The frontend will typically run at:

http://localhost:5173

3️⃣ Open the Application

Open your browser and visit:

http://localhost:5173

βœ… Verify Everything Is Working

  • βœ… Frontend loads without errors
  • βœ… Backend starts successfully
  • βœ… MongoDB connects successfully
  • βœ… GitHub user search returns live data
  • βœ… No environment variable warnings appear

πŸ‘¨β€πŸ’» Project Admins / Maintainers

Mehul Prajapati
Mehul Prajapati

Project Admin & Maintainer

πŸ“„ License

This project is licensed under the MIT License.

See the LICENSE file for complete details.


πŸ“ˆ Star History

Star History Chart

πŸ’– Contributors

We are grateful to all the amazing contributors who have helped build and improve this project πŸš€

Thanks for making GitHub Tracker better with every contribution!

Contributors

πŸ™Œ How to Become a Contributor

We welcome all contributors, especially from :contentReference[oaicite:0]{index=0} (GSSoC)!

To contribute:

  1. Fork the repository
  2. Create a new branch
  3. Make your changes
  4. Submit a pull request

⭐ Don’t forget to star the repository if you find it useful!

About

A web app designed to help you monitor and analyze the activity of GitHub users

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages