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.
- π About the Project
- π Live Demo
- πΈ Screenshots
- β¨ Features
- π οΈ Tech Stack
- ποΈ Project Architecture
- π Folder Structure
- π Getting Started
- π Environment Variables
βΆοΈ Running the Project- π API Endpoints
- π§ͺ Testing
- π οΈ Troubleshooting
- π€ Contributing
- π Code of Conduct
- π¨βπ» Maintainers
- π GSSoC Information
- πΊοΈ Roadmap
- β FAQ
- π License
- π Star History
- π Contributors
- β Support 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.
π Explore the application here:
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
- Search for any public GitHub username
- View profile details such as bio, avatar, followers, following, and repositories
- Access account statistics and contribution summaries
- Browse all public repositories
- View stars, forks, watchers, and open issues
- Analyze repository popularity and activity
- Track commits, pull requests, and issues
- Monitor contribution trends over time
- Identify recent development activity
- Fetch live data from the GitHub API
- Fast and responsive interface with optimized API requests
- Clean and intuitive UI
- Visual representation of key metrics
- Responsive design for desktop and mobile
- Node.js and Express-based API layer
- Secure authentication-ready architecture
- Organized routes and services
- Backend unit and integration testing with Jasmine
- Reliable and maintainable codebase
- Beginner-friendly issues and contribution guidelines
- Active community support for GSSoC and first-time contributors
- βοΈ React.js
- β‘ Vite
- π¨ Tailwind CSS
- π§© Material UI
- π’ Node.js
- π Express.js
- π‘ Axios
- π React Query
- π MongoDB
- π Passport.js
- π bcryptjs
- ποΈ Express Session
- π§ͺ Jasmine
- π Supertest
- π GitHub REST API
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)
- 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
- RESTful API built with Node.js and Express
- Authentication support with Passport.js
- Session management using Express Session
- Business logic and API integrations
- GitHub REST API for real-time public repository and user data
- MongoDB for user accounts, saved searches, and session persistence
- 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
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
Follow these steps to set up GitHub Tracker on your local machine.
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)
git clone https://github.com/GitMetricsLab/github_tracker.git
cd github_trackerThis 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...Create a .env file in the server/ directory and add the required environment variables.
cd server
cp .env.example .envIf
.env.exampleis not available, create a new.envfile manually.
You will configure the required variables in the next section: 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 | 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 |
- Go to https://github.com/settings/tokens
- Click Generate new token
- Select the required scopes (public data access is usually sufficient)
- Copy the token and add it to your
.envfile
β οΈ Never commit your.envfile or expose secret keys publicly.
cd server
npm startThe backend will typically run at:
http://localhost:5000
Open a new terminal and run:
cd client
npm run devThe frontend will typically run at:
http://localhost:5173
Open your browser and visit:
- β Frontend loads without errors
- β Backend starts successfully
- β MongoDB connects successfully
- β GitHub user search returns live data
- β No environment variable warnings appear
Mehul Prajapati Project Admin & Maintainer |
This project is licensed under the MIT License.
See the LICENSE file for complete details.
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!
We welcome all contributors, especially from :contentReference[oaicite:0]{index=0} (GSSoC)!
To contribute:
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
β Donβt forget to star the repository if you find it useful!