OWASP / OWASP/Nest

Add CSV/JSON export functionality for filtered project issues

Open
#3,570 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
451
Forks
707
Avg merge
22h 59m
Merged PRs (30d)
91

Description

### Problem
Currently, users can view and filter issues across OWASP projects, but there's no way to export this data for offline analysis or reporting purposes.

### Proposed Solution
Add an export feature that allows users to download filtered issue lists in CSV or JSON format directly from the issues page.

### Benefits
- Project leaders can analyze issue trends offline
- Better reporting for GSoC and mentorship programs
- Contributors can track their contribution history
- Enables data-driven project health analysis
- Useful for creating reports and presentations

### Implementation Scope

**Frontend:**
- Add "Export" button with format dropdown (CSV/JSON) on issues page
- Implement client-side export logic with proper file download
- Show loading state and success notifications
- Maintain current filter state during export

**Backend:**
- Create new API endpoint: `GET /api/v1/modules/{module_key}/issues/export`
- Support query parameters: `format`, `state`, `labels`
- Implement CSV serialization with proper headers
- Add rate limiting (max 1000 issues per request)

**Export Fields:**
- Issue number, title, state, labels
- Assignees, author
- Created date, updated date
- URL, repository name

### Technical Details
- Use `papaparse` for CSV generation
- Include timestamp in filename: `nest-issues-YYYY-MM-DD.csv`
- Proper MIME types for downloads
- Respect existing filters and pagination

### Acceptance Criteria
- [ ] Export button visible on issues page
- [ ] Both CSV and JSON formats work correctly
- [ ] Export respects current filters
- [ ] Files download with proper naming
- [ ] Rate limiting prevents abuse
- [ ] Unit tests for export functionality
- [ ] Mobile-responsive design

### Files to Modify
- `frontend/src/app/mentorship/[programKey]/[moduleKey]/issues/page.tsx`
- `frontend/src/components/IssuesTable.tsx`
- `frontend/src/utils/exportUtils.ts` (new)
- `backend/apps/mentorship/api/routes.py`
- Add corresponding tests

### Labels
`enhancement`, `good-first-issue`, `frontend`, `backend`, `api`

### Estimated Effort
4-6 hours for intermediate developer

### Additional Notes
This feature would complement the existing search and filter capabilities, making Nest more useful for project management and reporting workflows.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.