A full-featured GitHub analytics dashboard that visualizes developer activity, repository stats, contribution patterns, and repository issue tracking in a competitive stats-style UI.
Built with React and powered by GitHub REST + GraphQL APIs.
- Avatar, name, username
- Followers & following
- Public repository count
- Company & location
- Website/blog link
- Join date
- Responsive profile card layout
- Total contributions (last year)
- Current streak (UTC-safe calculation)
- Highest streak
- Contribution heatmap calendar
- GraphQL-powered contribution fetching
- Latest repositories list
- Stars & forks per repo
- Language tags
- Sorted by last updated
- Copy repository link button
- Clean scrollable stat panel
- Pie chart of most-used languages
- Repo-based aggregation
- Custom color palette
- Responsive resizing
A fully integrated Issues Tracker page with advanced filtering and pagination.
- Paste any GitHub repository link
- Auto-extract owner + repo
- Fetch live issue data
- Open / Closed toggle
- Label-based filtering
- Dynamically loads all repository labels (multi-page fetch)
- Clean filter bar UI
- Real GitHub API pagination
- Page navigation controls
- Page state preserved
- Filter + pagination integration
- Clickable issue title (opens GitHub issue in new tab)
- Author & comment count
- Label badges (color-coded)
- Open / Closed status indicator
- Dark dashboard style
- Neon green accent highlights
- Card-based stat modules
- Responsive layout
- Centered heatmap footer
- Clean stat-panel aesthetic
- React.js
- React Router
- Axios
- Chart.js
- react-chartjs-2
- react-github-calendar
- GitHub REST API
- GitHub GraphQL API (Contributions)
- GitHub Pagination System
src/
├─ pages/
│ ├─ GFIS.js
├─ components/
├─ App.js
├─ App.css
├─ index.js
public/
.env
package.json
README.md
git clone https://github.com/YOUR_USERNAME/git-stat.git
cd git-stat
npm install
Create .env in root:
REACT_APP_GITHUB_TOKEN=your_github_token_here
REACT_APP_
- GitHub → Settings
- Developer Settings → Personal Access Tokens
- Create Fine-grained or Classic token
Recommended permissions:
- User metadata → Read
- Repository metadata → Read
GraphQL access required for contributions.
npm start
App runs on:
http://localhost:3000
| Data | Source |
|---|---|
| Profile info | REST API |
| Repo stats | REST API |
| Stars / forks | REST API |
| Issues | REST API |
| Labels | REST API |
| Contributions | GraphQL API |
| Heatmap | GitHub Calendar |
- Longest streak → historical forward scan
- Current streak → reverse scan
- Skips current UTC day if not updated
- GraphQL calendar parsing
- REST pagination for issues
- REST pagination for labels (multi-page fetch)
- Controlled
useEffectrefetch logic - Clean dependency management
- No infinite re-render loops
- Tokens stored in
.env .envignored via.gitignore- Token required for GraphQL
- For production → move token to backend proxy
- 📊 Issue analytics charts (open vs closed)
- 📈 Issue activity timeline
- 🏆 Contribution rank system
- 🔎 Search inside issues
- ⚔ Profile comparison
- 🌍 Leaderboard system
- 🧠 AI-based repository insights
Pull requests welcome. For major changes, open an issue first to discuss improvements.
Built by openvaibhav GitHub: https://github.com/openvaibhav
Turning GitHub activity into a competitive stat experience.