Skip to content

Priyanshu-byte-coder/devtrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

292 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🚀 DevTrack

Your personal developer productivity command center.

Stop guessing how productive you are. DevTrack pulls your GitHub activity, PR analytics, commit streaks, and coding goals into one clean, self-hostable dashboard — no enterprise plan, no vendor lock-in, no noise.

CI License: MIT PRs Welcome GSSoC 2026 Stack Good First Issues Contributors Last Commit Open Issues

🌐 Live Demo · 📖 Dev Guide · 🐛 Report Bug · ✨ Request Feature


📋 Table of Contents


💡 Why DevTrack?

Most developers track their work across 5+ disconnected tools — GitHub for commits, Jira for tasks, Notion for goals, Slack for standups. None of them give you the full picture.

DevTrack solves this by:

  • 📊 Consolidating GitHub contributions, PR metrics, and streak data in one view
  • 🎯 Helping you set and visualize personal coding goals with progress bars
  • 🔒 Keeping your data yours — fully self-hostable with zero vendor lock-in
  • Deploying in minutes — Next.js + Supabase + Vercel, entirely free tier

Whether you're a solo developer tracking consistency, a student building your portfolio discipline, or a team lead monitoring your own output — DevTrack is built for you.


✨ Features

Feature Description
GitHub OAuth Sign in with GitHub — no extra account needed
Commit Activity Chart Visualize daily commit activity with 7d / 14d / 30d / 90d range selector
Commit Streak Tracker Current streak, longest streak, active days — stay consistent
PR Analytics Average review time, merge rate, open/closed PR count
Top Repositories Ranked list of your most active repos over any time range
Weekly Goal Tracker Set coding goals and track progress with a progress bar UI
No separate backend Next.js API routes + Supabase, deploy to Vercel for free

🛠 Tech Stack

Layer Technology
Frontend Next.js 14 (App Router), TypeScript, Tailwind CSS
Auth GitHub OAuth via NextAuth.js
Database Supabase (PostgreSQL)
API Next.js Route Handlers (/app/api/)
Charts Recharts
Deployment Vercel (free, auto-deploys from GitHub)

📁 Project Structure

devtrack/
├── src/
│   ├── app/
│   │   ├── api/
│   │   │   ├── auth/[...nextauth]/   # GitHub OAuth
│   │   │   ├── metrics/
│   │   │   │   ├── contributions/    # GET commit activity
│   │   │   │   ├── prs/              # GET PR analytics
│   │   │   │   ├── streak/           # GET commit streak
│   │   │   │   └── repos/            # GET top repositories
│   │   │   └── goals/                # GET + POST weekly goals
│   │   ├── dashboard/                # Main dashboard page
│   │   └── page.tsx                  # Landing page
│   ├── components/
│   │   ├── ContributionGraph.tsx     # Bar chart with time range tabs
│   │   ├── PRMetrics.tsx             # PR stats grid
│   │   ├── GoalTracker.tsx           # Weekly goals progress bars
│   │   ├── StreakTracker.tsx         # Streak stats widget
│   │   ├── TopRepos.tsx              # Ranked repos list
│   │   └── DashboardHeader.tsx       # User avatar + sign out
│   └── lib/
│       ├── auth.ts                   # NextAuth config + Supabase user upsert
│       └── supabase.ts               # Supabase admin client (server-side)
├── supabase/
│   └── schema.sql                    # Run once in Supabase SQL editor
└── .github/
    ├── workflows/ci.yml              # Type-check + lint on every PR
    └── ISSUE_TEMPLATE/               # Bug, feature, good-first-issue templates

🚀 Getting Started

Full setup guide with troubleshooting: DEVELOPMENT.md

Quick Start (< 10 minutes)

1. Clone & install

git clone https://github.com/Priyanshu-byte-coder/devtrack.git
cd devtrack
npm install

2. Set up Supabase

  1. Create a free project at supabase.com
  2. SQL Editor → New Query — paste and run supabase/schema.sql
  3. Project Settings → API — copy Project URL, anon key, service_role key

3. Create a GitHub OAuth App

  1. Go to GitHub → Settings → Developer Settings → OAuth Apps
  2. Set callback URL to http://localhost:3000/api/auth/callback/github
  3. Copy your Client ID and Client Secret

4. Configure environment

cp .env.example .env.local
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=        # run: openssl rand -base64 32

GITHUB_ID=your_client_id
GITHUB_SECRET=your_client_secret

5. Run locally

npm run dev

Open http://localhost:3000 and sign in with GitHub. 🎉


🗺 Roadmap

✅ Completed

  • GitHub OAuth sign-in
  • Contribution bar chart with range selector
  • PR analytics widget
  • Weekly goal tracker
  • Dashboard auth guard
  • User avatar in header
  • Commit streak tracker
  • Top repositories widget

🔨 Open for Contribution

New to open source? Issues marked good first issue are a great place to start!

Issue Feature Difficulty
#1 Dark mode toggle 🟢 Beginner
#14 Responsive mobile layout 🟢 Beginner
#13 Create Goal form UI 🟢 Beginner
#17 Chart type toggle (bar/line) 🟡 Intermediate
#18 Contribution heatmap calendar 🟡 Intermediate
#32 Language breakdown widget 🟡 Intermediate
#33 Activity feed 🟡 Intermediate
#34 Auto-progress goals from commits 🔴 Advanced
#6 GitLab integration 🔴 Advanced
#20 Slack/Discord weekly digest 🔴 Advanced

🔭 Future Vision

  • Multi-platform integration (GitLab, Bitbucket)
  • Team dashboards with aggregated metrics
  • AI-generated weekly productivity summaries
  • Public profile/shareable stats cards

🤝 Contributing

DevTrack actively welcomes contributors of all skill levels, including GSSoC 2026 participants.

Setup takes under 10 minutes — see DEVELOPMENT.md for the full walkthrough, including common errors and their fixes.

Steps to contribute

  1. Browse open issues — start with the good first issue label
  2. Comment on the issue to get assigned before you start work
  3. Fork → branch (feat/issue-42-description) → PR against main
  4. Check CI passes: npm run lint && npm run type-check

See CONTRIBUTING.md for full guidelines, commit style, and the review process.

💬 Questions? Open a Discussion — we're happy to help!


📄 License

MIT — see LICENSE for details.


Built with ❤️ by the DevTrack community · devtrack-delta.vercel.app

Star this repo if DevTrack helps you — it means a lot!

About

Open-source developer productivity dashboard — GitHub stats, PR metrics, streaks & goals. ⭐ Star if useful!

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors