| # | User Story | Acceptance Criteria (AC) |
|---|------------|--------------------------|
| JUFE‑509‑US‑01 | As a PM, I can choose a date range and filter by project status before exporting. | • UI presents a date‑picker and status multi‑select.
• Export respects the selected filters.
• No projects outside the range appear in the file. |
| JUFE‑509‑US‑02 | As a PM, I can pick which columns appear in the export (e.g., Project Name, Owner, Budget, Completion %). | • “Column selector” list with check‑boxes.
• At least one column must be selected.
• Export file header matches the selected columns exactly. |
| JUFE‑509‑US‑03 | As a PM, I can download the file in CSV or Excel format. | • Export button shows a format dropdown (CSV/Excel).
• File is generated and streamed within 10 seconds for ≤ 5 000 rows. |
| JUFE‑509‑US‑04 | As a PM, I receive a progress indicator while the export is being prepared. | • Spinner or progress bar appears after clicking “Export”.
• If generation exceeds 30 seconds, a “Processing – you’ll receive an email when ready” fallback is triggered. |
| JUFE‑509‑US‑05 | As a PM, I can receive a notification email with a secure download link if the export runs in background. | • Email contains a one‑time link that expires after 48 h.
• Link is protected with the same auth token used for the UI session. |
| JUFE‑509‑US‑06 | As a Data Analyst, exported files must include audit‑trail metadata (exported‑by, timestamp, filter criteria). | • First row after header includes exported_by, exported_at, filters.
• Values match the authenticated user and selected filters. |
| JUFE‑509‑US‑07 | As a Support Agent, I can export up to 100 000 rows without the UI timing out. | • Server uses asynchronous job queue (e.g., Celery, Sidekiq).
• UI shows “Your export is being prepared – you’ll be notified via email”. |
| Goal | Reason / Value | |------|----------------| | Reduce manual effort | Users currently download each report individually (≈ 30 seconds/report). Bulk export cuts time by up to 80 %. | | Improve data accessibility | Exported files can be used in downstream BI tools (Power BI, Tableau). | | Support compliance | Export includes audit‑trail metadata required for regulatory reporting. | | Increase Net‑Promoter Score (NPS) | Faster reporting improves perceived product efficiency. | JUFE-509
| Persona | Need | |---------|------| | Project Manager (PM) | Wants to pull all project status reports for the last quarter to present to senior leadership. | | Data Analyst | Needs a CSV dump of all projects with custom fields to feed into a data warehouse. | | Customer Support Agent | Must quickly extract a set of tickets for a customer‑escalation case. | | # | User Story | Acceptance Criteria