commit
This commit is contained in:
130
plans/sprint-4.md
Normal file
130
plans/sprint-4.md
Normal file
@@ -0,0 +1,130 @@
|
||||
You are a Senior Full Stack Engineer.
|
||||
|
||||
Project:
|
||||
Training Management System (TMS)
|
||||
|
||||
Current status:
|
||||
|
||||
- Auth.js role mapping is completed.
|
||||
- Sidebar displays menu by role.
|
||||
- Employee Training Records module is completed.
|
||||
- HRD Review Workflow is completed.
|
||||
|
||||
Current task:
|
||||
Implement Sprint 4: Training Policy and Course Master Enhancement.
|
||||
|
||||
Important constraints:
|
||||
|
||||
- Do NOT change existing folder structure.
|
||||
- Do NOT create a new project.
|
||||
- Do NOT migrate ORM.
|
||||
- Use existing Drizzle ORM.
|
||||
- Use existing Auth.js session.
|
||||
- Reuse existing UI components.
|
||||
- Reuse existing /dashboard route structure.
|
||||
- Make minimal-impact changes only.
|
||||
|
||||
Part 1: Training Policy Module
|
||||
|
||||
Requirements:
|
||||
|
||||
1. Create Training Policy page.
|
||||
Route:
|
||||
/dashboard/training-policy
|
||||
|
||||
2. HRD can create and update yearly training policy.
|
||||
|
||||
Fields:
|
||||
|
||||
- year
|
||||
- totalHours
|
||||
- kHours
|
||||
- sHours
|
||||
- aHours
|
||||
- isActive
|
||||
|
||||
3. Validation:
|
||||
|
||||
- year is required.
|
||||
- totalHours is required.
|
||||
- kHours is required.
|
||||
- sHours is required.
|
||||
- aHours is required.
|
||||
- kHours + sHours + aHours must equal totalHours.
|
||||
|
||||
4. Default policy example:
|
||||
|
||||
- Total Hours = 30
|
||||
- K = 12
|
||||
- S = 12
|
||||
- A = 6
|
||||
|
||||
5. Dashboard must use Training Policy instead of hardcoded values.
|
||||
|
||||
6. Only HRD can access and manage Training Policy.
|
||||
|
||||
Part 2: Course Master Enhancement
|
||||
|
||||
Requirements:
|
||||
|
||||
1. Update existing Course Master without changing module structure.
|
||||
|
||||
2. Ensure Course Master supports these fields:
|
||||
|
||||
- courseCode
|
||||
- courseName
|
||||
- description
|
||||
- defaultCategory (K/S/A)
|
||||
- defaultHours
|
||||
- provider
|
||||
- status
|
||||
- mandatory
|
||||
- certificateRequired
|
||||
- validityMonths
|
||||
- trainingCost
|
||||
|
||||
3. If existing fields already exist, reuse them.
|
||||
4. If field names differ, map them carefully.
|
||||
5. Do not remove existing course data.
|
||||
6. Add Zod validation.
|
||||
7. Add create/edit/list UI fields.
|
||||
8. Add loading, empty, success, and error states.
|
||||
|
||||
Part 3: Output Review File
|
||||
|
||||
After implementing code changes, create a review output file in the project:
|
||||
|
||||
Path:
|
||||
docs/sprint-4-training-policy-course-master-review.md
|
||||
|
||||
The file must include:
|
||||
|
||||
1. Summary of changes
|
||||
2. Files changed
|
||||
3. Database changes
|
||||
4. Migration commands
|
||||
5. New routes
|
||||
6. Validation rules
|
||||
7. Permission rules
|
||||
8. Manual test checklist
|
||||
9. Known limitations
|
||||
10. Next recommended sprint
|
||||
|
||||
Manual Test Checklist must include:
|
||||
|
||||
- HRD can open Training Policy page.
|
||||
- Employee cannot open Training Policy page.
|
||||
- HRD can create policy.
|
||||
- HRD can edit policy.
|
||||
- System blocks invalid K/S/A sum.
|
||||
- Dashboard uses policy values.
|
||||
- HRD can create course.
|
||||
- HRD can edit course.
|
||||
- Course Master supports certificateRequired.
|
||||
- Course Master supports trainingCost.
|
||||
|
||||
Return:
|
||||
|
||||
- Complete code changes with file paths.
|
||||
- Content of docs/sprint-4-training-policy-course-master-review.md.
|
||||
- Any commands required to run migration.
|
||||
Reference in New Issue
Block a user