Jufe-509
| ID | Requirement | Description |
|----|-------------|-------------|
| FR‑01 | Filter UI | Date‑range picker, status multi‑select, custom field filters. |
| FR‑02 | Column Selector | Dynamically generate list from the current report schema. |
| FR‑03 | Export Formats | CSV (RFC 4180) and Excel (XLSX). |
| FR‑04 | File Generation | Use streaming to avoid OOM for large result sets. |
| FR‑05 | Background Processing | If rows > 20 000, push job to async worker and notify via email. |
| FR‑06 | Security | Only users with report_export permission may access. Export link must be signed and time‑limited. |
| FR‑07 | Audit Logging | Log export request (user, timestamp, filters, rows, format) to audit table. |
| FR‑08 | Rate Limiting | Max 5 bulk‑export requests per user per hour. |
| FR‑09 | Internationalization | Column headers and UI strings respect current locale. |
+-----------------+ +-------------------+ +-------------------+
| Front‑End UI | (REST) | API Gateway | (gRPC) | Export Service |
| (React/Angular) | <------> | (Node/Java) | <------> | (Python/Java) |
+-----------------+ +-------------------+ +-------------------+
^ | ^ |
| | | |
| | +----> Async Queue |
| | (RabbitMQ) |
| +------------------------+
|
+-----------+
| Auth/Z |
+-----------+
JUFE-509, titled "Advanced Financial Strategies and Applications", is a graduate-level course developed by Jiangxi University of Finance and Economics to bridge the gap between academic theory and practical applications in finance. The course is structured to cater to students with a foundational knowledge of economics or finance and aims to build expertise in critical areas such as financial modeling, investment analysis, and risk management. With a blend of lectures, case studies, and hands-on projects, JUFE-509 prepares learners to tackle real-world challenges with precision and innovation. JUFE-509
By course end students should be able to: stream rows to CSV/Excel writer
| Component | Responsibility |
|-----------|-----------------|
| UI Layer | Date picker, status filter, column selector, export button, progress UI, error handling. |
| API Endpoint (POST /api/v1/reports/export) | Validate request, enforce permissions, enqueue job, return job‑id or immediate download URL. |
| Export Service | Build SQL query based on filters, stream rows to CSV/Excel writer, attach audit metadata, store file temporarily (e.g., S3 bucket). |
| Async Worker | Consumes jobs from queue, invokes Export Service, on success triggers email notification with signed link, updates job status in DB. |
| Email Service | Generates templated email with secure download URL. |
| Audit Logger | Writes to report_export_audit table (user_id, request_time, filter_json, row_count, format, file_location). |
| Rate‑Limiter Middleware | Checks per‑user export request count (Redis sliding‑window). |
| Metrics Collector | Emits Prometheus counters/histograms for monitoring. | attach audit metadata
Hypothetical yet inspiring testimonials highlight the impact of the course:
"JUFE-509 transformed my understanding of financial modeling. The project on risk assessment for a tech startup not only earned me top marks but also a job offer!" — Li Wei, MSc in Finance
"The insights from Professor Zhang’s lectures on market trends helped me outperform my peers during a competitive internship interview." — Ava Lin, Investment Analyst