Skip to content

feat: Add "Compare with Friend" side-by-side GitHub stats view#569

Open
Abhushan187 wants to merge 1 commit into
indresh404:mainfrom
Abhushan187:feat/514-compare-with-friend
Open

feat: Add "Compare with Friend" side-by-side GitHub stats view#569
Abhushan187 wants to merge 1 commit into
indresh404:mainfrom
Abhushan187:feat/514-compare-with-friend

Conversation

@Abhushan187

Copy link
Copy Markdown

Closes #514

Changes by file

File Change
src/services/comparisonService.js New — Firestore query to fetch user profile by githubUsername/doc ID
src/services/comparisonExporter.js New — PNG export via dom-to-image-more, clones node with inlined computed styles
src/hooks/useComparison.js New — Modal state, user selection, recent comparisons in localStorage (max 5)
src/components/friends/ProfileComparisonModal.jsx New — Full comparison modal: search, side-by-side metrics, badges, trust score, winner highlighting, overall winner badge, recent list, PNG export
src/pages/Profile.jsx Added "Compare" button and <ProfileComparisonModal /> integration
src/__tests__/comparison.test.js New — Tests for winner logic, badge counting, localStorage persistence

Technical Notes

  • No new API endpoint — reuses existing Firestore query pattern from Profile.jsx
  • dom-to-image-more already in package.json, zero new dependencies
  • Weighted overall score: gitRankPoints*0.5 + totalPoints*0.3 + commits*0.1 + streak*0.1
  • Badges computed using same threshold logic as Profile.jsx (Pioneer always unlocked, others at 100/10/100/1000)
  • Metrics with lowerIsBetter (global rank) invert winner logic
  • Export clones DOM, inlines computed styles, removes pointer-events overlays, then calls domtoimage.toPng with #0f172a bgcolor

@Abhushan187 Abhushan187 requested a review from indresh404 as a code owner June 16, 2026 20:56
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ranker-hub Ready Ready Preview, Comment Jun 16, 2026 8:56pm

@github-actions github-actions Bot added backend Backend/Firebase related changes documentation Improvements or additions to documentation enhancement New feature or request frontend Frontend related changes (HTML/CSS/JS/React) gssoc GirlScript Summer of Code gssoc26 GirlScript Summer of Code 2026 nsoc NSoC NSoC'26 NSoC 2026 pending-review PR is pending review labels Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Backend/Firebase related changes documentation Improvements or additions to documentation enhancement New feature or request frontend Frontend related changes (HTML/CSS/JS/React) gssoc GirlScript Summer of Code gssoc26 GirlScript Summer of Code 2026 nsoc NSoC NSoC'26 NSoC 2026 pending-review PR is pending review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add "Compare with Friend" side-by-side GitHub stats view on developer profiles

1 participant