Skip to content

feat: add printable productivity PDF reports#3110

Open
KrutagyaKaneria wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
KrutagyaKaneria:feat/issue-3046-printable-pdf-reports
Open

feat: add printable productivity PDF reports#3110
KrutagyaKaneria wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
KrutagyaKaneria:feat/issue-3046-printable-pdf-reports

Conversation

@KrutagyaKaneria

Copy link
Copy Markdown
Contributor

📌 Summary

This PR introduces a client-side PDF export feature that allows users to generate and download a professional productivity report directly from their DevTrack dashboard.

The generated report provides a structured summary of a developer's coding activity, making it easy to share progress during performance reviews, mentorship sessions, portfolio showcases, or on professional networks.

Closes #3046


🚀 Changes Made

📄 PDF Report Generation

  • Added a "Download PDF Report" action to the Dashboard.
  • Implemented client-side PDF generation using the existing jsPDF package.
  • Added reusable PDF generation helper (src/lib/pdf-generator.ts).

📊 Report Contents

The generated report includes:

  • User profile information
  • Productivity summary
  • Weekly and monthly commit statistics
  • Current coding streak
  • WakaTime activity summary
  • Language distribution
  • Top repositories
  • Goal completion progress
  • Achievement highlights (when available)

🎨 Report Design

  • Clean professional layout matching the DevTrack design language.
  • Proper spacing, typography, and page margins.
  • Download-ready PDF suitable for sharing and printing.

⚡ Performance

  • Client-side generation (no backend/API changes).
  • Fast report generation.
  • Graceful handling of missing or unavailable data.
  • Reuses existing dashboard state and utilities.

✅ Testing

Verified:

  • Download button is visible on the Dashboard
  • PDF downloads successfully
  • Report renders correct user information
  • Commit statistics display correctly
  • WakaTime metrics render when available
  • Language distribution is included
  • Goal progress is displayed
  • Missing data is handled gracefully
  • Existing dashboard functionality remains unaffected

🛠️ Quality Checks

  • pnpm lint
  • pnpm type-check
  • pnpm test
  • Project builds successfully

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels Jul 3, 2026
@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) labels Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@KrutagyaKaneria

Copy link
Copy Markdown
Contributor Author

@Priyanshu-byte-coder can you review my PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] : Printable PDF Productivity Reports

1 participant