109 lines
1.6 KiB
Markdown
109 lines
1.6 KiB
Markdown
You are a Senior Full Stack Engineer.
|
|
|
|
Project:
|
|
Training Management System (TMS)
|
|
|
|
Current status:
|
|
Sprint 6 Phase 1 Audit Log completed.
|
|
Sprint 6 Phase 2 Notification Center completed.
|
|
Sprint 6 Phase 3 Announcement Module completed.
|
|
|
|
Current task:
|
|
Implement Sprint 6 Phase 4:
|
|
Dashboard Enhancement.
|
|
|
|
Important constraints:
|
|
|
|
- Do NOT change folder structure.
|
|
- Do NOT migrate ORM.
|
|
- Reuse existing overview/dashboard module.
|
|
- Reuse existing charts.
|
|
- Reuse existing UI components.
|
|
- Keep Thai UI.
|
|
- Keep responsive support.
|
|
- Minimal-impact changes only.
|
|
|
|
Part 1: Employee Dashboard
|
|
|
|
Add KPI Cards:
|
|
|
|
- Approved Hours
|
|
- Pending Hours
|
|
- Rejected Hours
|
|
- Completion Percentage
|
|
|
|
Add K/S/A Progress section.
|
|
|
|
Add Recent Activity section.
|
|
|
|
Part 2: HRD Dashboard
|
|
|
|
Add KPI Cards:
|
|
|
|
- Total Employees
|
|
- Employees Passed Target
|
|
- Employees Not Passed Target
|
|
- Pending Review Count
|
|
|
|
Add Charts:
|
|
|
|
- K/S/A Distribution
|
|
- Monthly Training Trend
|
|
- Department Ranking
|
|
- Top Courses
|
|
|
|
Part 3: Dashboard Filters
|
|
|
|
Employee:
|
|
|
|
- Year
|
|
|
|
HRD:
|
|
|
|
- Year
|
|
- Company
|
|
- Department
|
|
|
|
Part 4: Performance
|
|
|
|
Use database aggregation.
|
|
|
|
Avoid loading all records into memory.
|
|
|
|
Part 5: Responsive
|
|
|
|
Support:
|
|
|
|
- 360px
|
|
- 390px
|
|
- 412px
|
|
- 768px
|
|
- 1024px
|
|
- 1440px
|
|
|
|
Part 6: Output Review File
|
|
|
|
Create:
|
|
|
|
docs/sprint-6-phase-4-dashboard-review.md
|
|
|
|
Include:
|
|
|
|
1. Summary
|
|
2. Files Changed
|
|
3. Database Queries Added
|
|
4. KPI Cards Added
|
|
5. Charts Added
|
|
6. Filters Added
|
|
7. Responsive Notes
|
|
8. Performance Notes
|
|
9. Manual Test Checklist
|
|
10. Known Limitations
|
|
11. Go-Live Readiness Score
|
|
|
|
Return:
|
|
|
|
- Complete code changes
|
|
- Review file
|
|
- Any migration commands if required
|