Skip to content

feat(frontend): implement data export (CSV/JSON) for analytics dashboards, credentials, and progress reports#211

Merged
Penielka merged 2 commits into
AetherEdu:mainfrom
Emmanuel-Ugochukwu1:feat/frontend-data-export-184
Jun 29, 2026
Merged

feat(frontend): implement data export (CSV/JSON) for analytics dashboards, credentials, and progress reports#211
Penielka merged 2 commits into
AetherEdu:mainfrom
Emmanuel-Ugochukwu1:feat/frontend-data-export-184

Conversation

@Emmanuel-Ugochukwu1

@Emmanuel-Ugochukwu1 Emmanuel-Ugochukwu1 commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

closes #184

  • Created frontend/src/utils/dataExport.ts: generic CSV/JSON export utility with CSV escaping, pretty-printed JSON, dated filenames, and Blob download
  • Created frontend/src/utils/tests/dataExport.test.ts: 24 unit tests covering escapeCSVField, convertToCSV, convertToJSON, download, and edge cases
  • Updated frontend/src/components/Analytics/ExportButton.tsx: reusable export button with CSV/JSON format dropdown, uses new dataExport utility
  • Added export to frontend/src/components/CredentialList.tsx: exports all credentials as CSV/JSON with headers, dates, and skills
  • Added export to frontend/src/components/dashboard/ProgressDashboard.tsx: exports enrollment and learning activity data, tracks active tab
  • Added per-chart export to frontend/src/components/Analytics/DashboardCharts.tsx: each chart (User Growth, Enrollments, Credentials) has its own export dropdown

Description

Please include a summary of the changes and which issue is fixed. Please also include relevant motivation and context.

Fixes #31

Type of Change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas

Emmanuel-Ugochukwu1 and others added 2 commits June 28, 2026 23:01
…ards, credentials, and progress reports (closes AetherEdu#184)

- Created frontend/src/utils/dataExport.ts: generic CSV/JSON export utility
  with CSV escaping, pretty-printed JSON, dated filenames, and Blob download
- Created frontend/src/utils/__tests__/dataExport.test.ts: 24 unit tests
  covering escapeCSVField, convertToCSV, convertToJSON, download, and edge cases
- Updated frontend/src/components/Analytics/ExportButton.tsx: reusable export
  button with CSV/JSON format dropdown, uses new dataExport utility
- Added export to frontend/src/components/CredentialList.tsx: exports all
  credentials as CSV/JSON with headers, dates, and skills
- Added export to frontend/src/components/dashboard/ProgressDashboard.tsx:
  exports enrollment and learning activity data, tracks active tab
- Added per-chart export to frontend/src/components/Analytics/DashboardCharts.tsx:
  each chart (User Growth, Enrollments, Credentials) has its own export dropdown
@Penielka Penielka merged commit ca9ae40 into AetherEdu:main Jun 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants