@studious-lms/server 1.23.0 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +0 -1
- package/data/curriculum/nepal-cdc-g4-g5/README.md +90 -0
- package/data/curriculum/nepal-cdc-g4-g5/manifest.json +97 -0
- package/data/curriculum/nepal-cdc-g4-g5/proficiency-scale.json +76 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/english.json +6936 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/health-physical-creative-arts.json +3401 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/mathematics.json +1511 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/nepali.json +7928 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/science-technology.json +2420 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/social-studies.json +2177 -0
- package/dist/lib/assignmentTypeDefaults.d.ts +41 -0
- package/dist/lib/assignmentTypeDefaults.d.ts.map +1 -0
- package/dist/lib/assignmentTypeDefaults.js +167 -0
- package/dist/lib/assignmentTypeDefaults.js.map +1 -0
- package/dist/lib/config/env.d.ts +0 -8
- package/dist/lib/config/env.d.ts.map +1 -1
- package/dist/lib/config/env.js +2 -5
- package/dist/lib/config/env.js.map +1 -1
- package/dist/lib/feePdf.d.ts +19 -0
- package/dist/lib/feePdf.d.ts.map +1 -0
- package/dist/lib/feePdf.js +167 -0
- package/dist/lib/feePdf.js.map +1 -0
- package/dist/lib/feePdfFormat.d.ts +4 -0
- package/dist/lib/feePdfFormat.d.ts.map +1 -0
- package/dist/lib/feePdfFormat.js +16 -0
- package/dist/lib/feePdfFormat.js.map +1 -0
- package/dist/lib/idCardPdf.d.ts +26 -0
- package/dist/lib/idCardPdf.d.ts.map +1 -0
- package/dist/lib/idCardPdf.js +272 -0
- package/dist/lib/idCardPdf.js.map +1 -0
- package/dist/lib/pdfLetterhead.d.ts +41 -0
- package/dist/lib/pdfLetterhead.d.ts.map +1 -0
- package/dist/lib/pdfLetterhead.js +86 -0
- package/dist/lib/pdfLetterhead.js.map +1 -0
- package/dist/lib/transcriptPdf.d.ts +55 -0
- package/dist/lib/transcriptPdf.d.ts.map +1 -0
- package/dist/lib/transcriptPdf.js +303 -0
- package/dist/lib/transcriptPdf.js.map +1 -0
- package/dist/models/academicCalendar.d.ts +198 -0
- package/dist/models/academicCalendar.d.ts.map +1 -0
- package/dist/models/academicCalendar.js +106 -0
- package/dist/models/academicCalendar.js.map +1 -0
- package/dist/models/agenda.d.ts +8 -0
- package/dist/models/agenda.d.ts.map +1 -1
- package/dist/models/announcement.d.ts +2 -0
- package/dist/models/announcement.d.ts.map +1 -1
- package/dist/models/assignment.d.ts +66 -0
- package/dist/models/assignment.d.ts.map +1 -1
- package/dist/models/attendance.d.ts +659 -21
- package/dist/models/attendance.d.ts.map +1 -1
- package/dist/models/attendance.js +547 -75
- package/dist/models/attendance.js.map +1 -1
- package/dist/models/auth.d.ts +2 -0
- package/dist/models/auth.d.ts.map +1 -1
- package/dist/models/class.d.ts +12 -0
- package/dist/models/class.d.ts.map +1 -1
- package/dist/models/class.js +3 -2
- package/dist/models/class.js.map +1 -1
- package/dist/models/event.d.ts +16 -0
- package/dist/models/event.d.ts.map +1 -1
- package/dist/models/fees.d.ts +554 -0
- package/dist/models/fees.d.ts.map +1 -0
- package/dist/models/fees.js +278 -0
- package/dist/models/fees.js.map +1 -0
- package/dist/models/file.d.ts +29 -0
- package/dist/models/file.d.ts.map +1 -1
- package/dist/models/folder.d.ts +2 -0
- package/dist/models/folder.d.ts.map +1 -1
- package/dist/models/labChat.d.ts +2 -0
- package/dist/models/labChat.d.ts.map +1 -1
- package/dist/models/marketplace.d.ts +180 -0
- package/dist/models/marketplace.d.ts.map +1 -0
- package/dist/models/marketplace.js +116 -0
- package/dist/models/marketplace.js.map +1 -0
- package/dist/models/moduleItem.d.ts +308 -0
- package/dist/models/moduleItem.d.ts.map +1 -0
- package/dist/models/moduleItem.js +93 -0
- package/dist/models/moduleItem.js.map +1 -0
- package/dist/models/newtonChat.d.ts +1 -0
- package/dist/models/newtonChat.d.ts.map +1 -1
- package/dist/models/school.d.ts +18 -0
- package/dist/models/school.d.ts.map +1 -1
- package/dist/models/school.js +7 -2
- package/dist/models/school.js.map +1 -1
- package/dist/models/section.d.ts +4 -0
- package/dist/models/section.d.ts.map +1 -1
- package/dist/models/worksheet.d.ts +19 -0
- package/dist/models/worksheet.d.ts.map +1 -1
- package/dist/models/worksheet.js +2 -2
- package/dist/models/worksheet.js.map +1 -1
- package/dist/routers/_app.d.ts +12024 -7778
- package/dist/routers/_app.d.ts.map +1 -1
- package/dist/routers/_app.js +12 -2
- package/dist/routers/_app.js.map +1 -1
- package/dist/routers/academicCalendar.d.ts +229 -0
- package/dist/routers/academicCalendar.d.ts.map +1 -0
- package/dist/routers/academicCalendar.js +75 -0
- package/dist/routers/academicCalendar.js.map +1 -0
- package/dist/routers/admin.d.ts +2 -0
- package/dist/routers/admin.d.ts.map +1 -1
- package/dist/routers/agenda.d.ts +8 -0
- package/dist/routers/agenda.d.ts.map +1 -1
- package/dist/routers/assignment.d.ts +75 -0
- package/dist/routers/assignment.d.ts.map +1 -1
- package/dist/routers/assignment.js +10 -2
- package/dist/routers/assignment.js.map +1 -1
- package/dist/routers/attendance.d.ts +103 -0
- package/dist/routers/attendance.d.ts.map +1 -1
- package/dist/routers/attendance.js +8 -5
- package/dist/routers/attendance.js.map +1 -1
- package/dist/routers/class.d.ts +27 -0
- package/dist/routers/class.d.ts.map +1 -1
- package/dist/routers/class.js +6 -2
- package/dist/routers/class.js.map +1 -1
- package/dist/routers/event.d.ts +8 -0
- package/dist/routers/event.d.ts.map +1 -1
- package/dist/routers/fees.d.ts +513 -0
- package/dist/routers/fees.d.ts.map +1 -0
- package/dist/routers/fees.js +88 -0
- package/dist/routers/fees.js.map +1 -0
- package/dist/routers/file.d.ts +2 -0
- package/dist/routers/file.d.ts.map +1 -1
- package/dist/routers/gradebook.d.ts +4 -1
- package/dist/routers/gradebook.d.ts.map +1 -1
- package/dist/routers/marketplace.d.ts +371 -0
- package/dist/routers/marketplace.d.ts.map +1 -0
- package/dist/routers/marketplace.js +87 -0
- package/dist/routers/marketplace.js.map +1 -0
- package/dist/routers/moduleItem.d.ts +263 -0
- package/dist/routers/moduleItem.d.ts.map +1 -0
- package/dist/routers/moduleItem.js +61 -0
- package/dist/routers/moduleItem.js.map +1 -0
- package/dist/routers/parent.d.ts +170 -0
- package/dist/routers/parent.d.ts.map +1 -0
- package/dist/routers/parent.js +49 -0
- package/dist/routers/parent.js.map +1 -0
- package/dist/routers/school.d.ts +363 -7
- package/dist/routers/school.d.ts.map +1 -1
- package/dist/routers/school.js +110 -3
- package/dist/routers/school.js.map +1 -1
- package/dist/routers/worksheet.d.ts +27 -0
- package/dist/routers/worksheet.d.ts.map +1 -1
- package/dist/routers/worksheet.js +10 -3
- package/dist/routers/worksheet.js.map +1 -1
- package/dist/services/academicCalendar.d.ts +173 -0
- package/dist/services/academicCalendar.d.ts.map +1 -0
- package/dist/services/academicCalendar.js +242 -0
- package/dist/services/academicCalendar.js.map +1 -0
- package/dist/services/adminInstitution.d.ts +2 -0
- package/dist/services/adminInstitution.d.ts.map +1 -1
- package/dist/services/agenda.d.ts +8 -0
- package/dist/services/agenda.d.ts.map +1 -1
- package/dist/services/assignment.d.ts +75 -0
- package/dist/services/assignment.d.ts.map +1 -1
- package/dist/services/assignment.js +91 -12
- package/dist/services/assignment.js.map +1 -1
- package/dist/services/attendance.d.ts +327 -10
- package/dist/services/attendance.d.ts.map +1 -1
- package/dist/services/attendance.js +389 -25
- package/dist/services/attendance.js.map +1 -1
- package/dist/services/attendanceMerge.d.ts +53 -0
- package/dist/services/attendanceMerge.d.ts.map +1 -0
- package/dist/services/attendanceMerge.js +87 -0
- package/dist/services/attendanceMerge.js.map +1 -0
- package/dist/services/attendanceRate.d.ts +24 -0
- package/dist/services/attendanceRate.d.ts.map +1 -0
- package/dist/services/attendanceRate.js +31 -0
- package/dist/services/attendanceRate.js.map +1 -0
- package/dist/services/attendanceStats.d.ts +22 -0
- package/dist/services/attendanceStats.d.ts.map +1 -0
- package/dist/services/attendanceStats.js +45 -0
- package/dist/services/attendanceStats.js.map +1 -0
- package/dist/services/class.d.ts +34 -2
- package/dist/services/class.d.ts.map +1 -1
- package/dist/services/class.js +27 -4
- package/dist/services/class.js.map +1 -1
- package/dist/services/event.d.ts +8 -0
- package/dist/services/event.d.ts.map +1 -1
- package/dist/services/fees.d.ts +422 -0
- package/dist/services/fees.d.ts.map +1 -0
- package/dist/services/fees.js +330 -0
- package/dist/services/fees.js.map +1 -0
- package/dist/services/feesAuthz.d.ts +46 -0
- package/dist/services/feesAuthz.d.ts.map +1 -0
- package/dist/services/feesAuthz.js +49 -0
- package/dist/services/feesAuthz.js.map +1 -0
- package/dist/services/file.d.ts +4 -0
- package/dist/services/file.d.ts.map +1 -1
- package/dist/services/gradebook.d.ts +18 -1
- package/dist/services/gradebook.d.ts.map +1 -1
- package/dist/services/gradebook.js +57 -2
- package/dist/services/gradebook.js.map +1 -1
- package/dist/services/idCard.d.ts +11 -0
- package/dist/services/idCard.d.ts.map +1 -0
- package/dist/services/idCard.js +122 -0
- package/dist/services/idCard.js.map +1 -0
- package/dist/services/marketplace.d.ts +301 -0
- package/dist/services/marketplace.d.ts.map +1 -0
- package/dist/services/marketplace.js +631 -0
- package/dist/services/marketplace.js.map +1 -0
- package/dist/services/moduleItem.d.ts +196 -0
- package/dist/services/moduleItem.d.ts.map +1 -0
- package/dist/services/moduleItem.js +204 -0
- package/dist/services/moduleItem.js.map +1 -0
- package/dist/services/notification.d.ts +58 -0
- package/dist/services/notification.d.ts.map +1 -1
- package/dist/services/notification.js +30 -2
- package/dist/services/notification.js.map +1 -1
- package/dist/services/parentPortal.d.ts +131 -0
- package/dist/services/parentPortal.d.ts.map +1 -0
- package/dist/services/parentPortal.js +314 -0
- package/dist/services/parentPortal.js.map +1 -0
- package/dist/services/school.d.ts +28 -3
- package/dist/services/school.d.ts.map +1 -1
- package/dist/services/school.js +98 -54
- package/dist/services/school.js.map +1 -1
- package/dist/services/studentImport.d.ts +34 -0
- package/dist/services/studentImport.d.ts.map +1 -0
- package/dist/services/studentImport.js +249 -0
- package/dist/services/studentImport.js.map +1 -0
- package/dist/services/transcript.d.ts +60 -0
- package/dist/services/transcript.d.ts.map +1 -0
- package/dist/services/transcript.js +231 -0
- package/dist/services/transcript.js.map +1 -0
- package/dist/services/worksheet.d.ts +22 -0
- package/dist/services/worksheet.d.ts.map +1 -1
- package/dist/services/worksheet.js +94 -2
- package/dist/services/worksheet.js.map +1 -1
- package/dist/trpc.d.ts +1 -1
- package/dist/trpc.d.ts.map +1 -1
- package/dist/trpc.js +5 -5
- package/dist/trpc.js.map +1 -1
- package/dist/utils/adminPanelAccess.d.ts +4 -5
- package/dist/utils/adminPanelAccess.d.ts.map +1 -1
- package/dist/utils/adminPanelAccess.js +12 -34
- package/dist/utils/adminPanelAccess.js.map +1 -1
- package/package.json +2 -1
- package/prisma/migrations/20260804120000_add_attendance_records_and_excusals/migration.sql +114 -0
- package/prisma/migrations/20260804120100_add_fee_plans_invoices_payments/migration.sql +101 -0
- package/prisma/migrations/20260804120200_add_marketplace_listings/migration.sql +54 -0
- package/prisma/migrations/20260804120300_content_platform_b3_b9/migration.sql +63 -0
- package/prisma/migrations/20260804120400_c_academic_ops/migration.sql +77 -0
- package/prisma/schema.prisma +371 -11
- package/scripts/import-nepal-cdc-curriculum.ts +402 -0
- package/src/lib/assignmentTypeDefaults.ts +222 -0
- package/src/lib/config/env.ts +0 -3
- package/src/lib/feePdf.ts +199 -0
- package/src/lib/feePdfFormat.ts +14 -0
- package/src/lib/idCardPdf.ts +336 -0
- package/src/lib/pdfLetterhead.ts +124 -0
- package/src/lib/transcriptPdf.ts +502 -0
- package/src/models/academicCalendar.ts +139 -0
- package/src/models/attendance.ts +702 -73
- package/src/models/class.ts +1 -0
- package/src/models/fees.ts +349 -0
- package/src/models/marketplace.ts +161 -0
- package/src/models/moduleItem.ts +125 -0
- package/src/models/school.ts +6 -0
- package/src/models/worksheet.ts +2 -0
- package/src/routers/_app.ts +10 -0
- package/src/routers/academicCalendar.ts +103 -0
- package/src/routers/assignment.ts +8 -0
- package/src/routers/attendance.ts +7 -3
- package/src/routers/class.ts +4 -0
- package/src/routers/fees.ts +126 -0
- package/src/routers/marketplace.ts +134 -0
- package/src/routers/moduleItem.ts +91 -0
- package/src/routers/parent.ts +68 -0
- package/src/routers/school.ts +149 -1
- package/src/routers/worksheet.ts +11 -0
- package/src/services/academicCalendar.ts +327 -0
- package/src/services/assignment.ts +122 -12
- package/src/services/attendance.ts +552 -26
- package/src/services/attendanceMerge.ts +139 -0
- package/src/services/attendanceRate.ts +41 -0
- package/src/services/attendanceStats.ts +63 -0
- package/src/services/class.ts +26 -2
- package/src/services/fees.ts +447 -0
- package/src/services/feesAuthz.ts +73 -0
- package/src/services/gradebook.ts +70 -0
- package/src/services/idCard.ts +147 -0
- package/src/services/marketplace.ts +790 -0
- package/src/services/moduleItem.ts +298 -0
- package/src/services/notification.ts +43 -0
- package/src/services/parentPortal.ts +367 -0
- package/src/services/school.ts +100 -54
- package/src/services/studentImport.ts +285 -0
- package/src/services/transcript.ts +301 -0
- package/src/services/worksheet.ts +111 -0
- package/src/trpc.ts +3 -3
- package/src/utils/adminPanelAccess.ts +12 -35
- package/tests/unit/assignmentTypeDefaults.test.ts +52 -0
- package/tests/unit/lib/feePdf.test.ts +15 -0
- package/tests/unit/lib/idCardPdf.test.ts +40 -0
- package/tests/unit/lib/transcriptPdf.test.ts +111 -0
- package/tests/unit/services/attendanceMerge.test.ts +90 -0
- package/tests/unit/services/attendanceRate.test.ts +38 -0
- package/tests/unit/services/attendanceStats.test.ts +54 -0
package/.env.example
CHANGED
|
@@ -21,7 +21,6 @@ PORT=3001
|
|
|
21
21
|
NODE_ENV=development
|
|
22
22
|
|
|
23
23
|
# Admin panel (tRPC `admin.*`): comma/whitespace-separated user UUIDs. Required in production; optional in dev (empty = any signed-in user can call admin).
|
|
24
|
-
ADMIN_PANEL_USER_IDS=""
|
|
25
24
|
|
|
26
25
|
# Logging Configuration
|
|
27
26
|
# Options: debug, info, warn, error
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Nepal CDC G4–5 Curriculum Pack (Phase A)
|
|
2
|
+
|
|
3
|
+
Curriculum Development Centre (CDC) **Student Evaluation Guidelines 2083** for Grades 4–5 — 100% formative assessment with per-subject, per-unit learning-outcome forms rated **1–4** (Below Basic / Basic / Proficient / Advanced).
|
|
4
|
+
|
|
5
|
+
## Source
|
|
6
|
+
|
|
7
|
+
- Document: आधारभूत तह कक्षा ४–५ मा विद्यार्थी मूल्याङ्कन मार्गदर्शन, २०८३
|
|
8
|
+
- CDC guidelines index: https://moecdc.gov.np/category/guidelines/
|
|
9
|
+
- PDF: see `manifest.json` → `source.url`
|
|
10
|
+
|
|
11
|
+
## Layout
|
|
12
|
+
|
|
13
|
+
| Path | Purpose |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| `manifest.json` | Pack metadata, mapping notes, stats |
|
|
16
|
+
| `proficiency-scale.json` | Shared 1–4 levels + `GradingBoundary` payload |
|
|
17
|
+
| `subjects/*.json` | Per-subject unit forms → MarkScheme templates |
|
|
18
|
+
|
|
19
|
+
## Mapping onto Studious
|
|
20
|
+
|
|
21
|
+
| CDC concept | Studious object |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| Unit / content-area learning-outcome form | Department `MarkScheme` (`departmentId` set, `classId` null) |
|
|
24
|
+
| Learning outcome indicator | `structured.criteria[]` (each with the same 1–4 `levels`) |
|
|
25
|
+
| Proficiency labels 1–4 | Criterion levels **and** a department `GradingBoundary` (percentage bands for CDC formula) |
|
|
26
|
+
| Grade / subject metadata | Tags: `Grade 4`, `Grade 5`, subject key, `CDC-2083`, `formative` |
|
|
27
|
+
|
|
28
|
+
Frontend presets `GradingBoundaryTemplates.nepal` (NEB letter grades) and `RubricTemplates.neb_assessment` are **not** this pack — they are NEB-style helpers.
|
|
29
|
+
|
|
30
|
+
### CDC percentage formula
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
achievement % = (sum of outcome ratings) / (4 × number of outcomes) × 100
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Boundary bands (equal quartiles of that percentage):
|
|
37
|
+
|
|
38
|
+
| Label | min% | max% |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| Advanced | 75 | 100 |
|
|
41
|
+
| Proficient | 50 | 74 |
|
|
42
|
+
| Basic | 25 | 49 |
|
|
43
|
+
| Below Basic | 0 | 24 |
|
|
44
|
+
|
|
45
|
+
## Import
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Dry run
|
|
49
|
+
npm run curriculum:import-nepal-cdc -- --departmentId=<uuid> --dry-run
|
|
50
|
+
|
|
51
|
+
# Import all G4+G5 subjects into a department template library
|
|
52
|
+
npm run curriculum:import-nepal-cdc -- --departmentId=<uuid>
|
|
53
|
+
|
|
54
|
+
# Filter
|
|
55
|
+
npm run curriculum:import-nepal-cdc -- --departmentId=<uuid> --grades=4 --subjects=english,mathematics
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
After import, templates appear under **School Admin → Departments → Templates**. Teachers apply them to a class via the institution panel (`department.applyRubricTemplate` / `applyBoundaryTemplate`).
|
|
59
|
+
|
|
60
|
+
There is no bulk admin UI for this pack; the script is the Phase A import path.
|
|
61
|
+
|
|
62
|
+
## Filling TODO placeholders
|
|
63
|
+
|
|
64
|
+
Many Nepali-script outcome texts could not be reliably OCR’d. In subject JSON files:
|
|
65
|
+
|
|
66
|
+
1. Find criteria whose `description` or `title` starts with `TODO:`.
|
|
67
|
+
2. Replace with the official indicator text from the matching Annex 3 form in the PDF.
|
|
68
|
+
3. Set `meta.transcriptionStatus` (and the unit’s `transcriptionStatus`) to `"verified"`.
|
|
69
|
+
4. Re-run the import with `--force` **or** edit the department template in the admin UI.
|
|
70
|
+
|
|
71
|
+
### Transcription status values
|
|
72
|
+
|
|
73
|
+
| Status | Meaning |
|
|
74
|
+
| --- | --- |
|
|
75
|
+
| `from-pdf-english` | Extracted from English annex text |
|
|
76
|
+
| `ocr-corrected` | Recovered from noisy Devanagari OCR + English gloss |
|
|
77
|
+
| `partial` | Some outcomes filled, some TODO |
|
|
78
|
+
| `scaffold` / `scaffold-titles` | Titles present; outcome text still TODO |
|
|
79
|
+
| `todo` | Per-criterion placeholder |
|
|
80
|
+
| `verified` | Spot-checked by a Nepali speaker (target state) |
|
|
81
|
+
|
|
82
|
+
## Out of scope (Phase A)
|
|
83
|
+
|
|
84
|
+
- Phase B mastery / longitudinal tracking grid
|
|
85
|
+
- Annex 4 annual transcript (tracked separately as A4)
|
|
86
|
+
- Mother-tongue / local subject national forms (school-defined per CDC)
|
|
87
|
+
|
|
88
|
+
## Spot-check flag
|
|
89
|
+
|
|
90
|
+
**A Nepali speaker should spot-check all Devanagari titles and OCR-corrected outcome text against the official PDF before production use.**
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "nepal-cdc-g4-g5-2083",
|
|
3
|
+
"name": "Nepal CDC Grades 4–5 Student Evaluation Guidelines 2083",
|
|
4
|
+
"nameNe": "आधारभूत तह कक्षा ४–५ मा विद्यार्थी मूल्याङ्कन मार्गदर्शन, २०८३",
|
|
5
|
+
"version": "0.1.0-phase-a",
|
|
6
|
+
"phase": "A",
|
|
7
|
+
"assessmentModel": "100% formative / continuous classroom-based assessment",
|
|
8
|
+
"ratingScale": "1–4 (Below Basic / Basic / Proficient / Advanced)",
|
|
9
|
+
"source": {
|
|
10
|
+
"publisher": "Curriculum Development Centre (CDC), Sanothimi, Bhaktapur",
|
|
11
|
+
"document": "Student Evaluation Guidelines for Basic Level Grades 4–5, 2083 B.S.",
|
|
12
|
+
"url": "https://giwmscdnone.gov.np/media/pdf_upload/%E0%A4%B5%E0%A4%BF%E0%A4%A6%E0%A5%8D%E0%A4%AF%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%A5%E0%A5%80%20%E0%A4%AE%E0%A5%82%E0%A4%B2%E0%A5%8D%E0%A4%AF%E0%A4%BE%E0%A4%99%E0%A5%8D%E0%A4%95%E0%A4%A8%20%E0%A4%AE%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%97%E0%A4%A6%E0%A4%B0%E0%A5%8D%E0%A4%B6%E0%A4%A8%20%E0%A5%A8%E0%A5%A6%E0%A5%AE%E0%A5%A9_eorih3h.pdf",
|
|
13
|
+
"cdcPage": "https://moecdc.gov.np/category/guidelines/"
|
|
14
|
+
},
|
|
15
|
+
"mapping": {
|
|
16
|
+
"unitForm": "MarkScheme department template (classId null, departmentId set); each learning outcome → criteria[] with shared 1–4 levels",
|
|
17
|
+
"proficiencyScale": "GradingBoundary department template; percentage bands for CDC (sum ratings)/(4N)×100",
|
|
18
|
+
"tags": "Grade 4 | Grade 5 | subject key | CDC-2083 | formative via Tag attach to RUBRIC/BOUNDARY",
|
|
19
|
+
"frontendPresets": "studious GradingBoundaryTemplates.nepal (NEB letter) and RubricTemplates.neb_assessment are separate NEB presets, not CDC 1–4"
|
|
20
|
+
},
|
|
21
|
+
"outOfScope": [
|
|
22
|
+
"Phase B mastery tracking grid",
|
|
23
|
+
"Annex-4 annual transcript (A4)",
|
|
24
|
+
"Mother-tongue/local subject national forms"
|
|
25
|
+
],
|
|
26
|
+
"spotCheckRequired": true,
|
|
27
|
+
"spotCheckNote": "Nepali-script titles and many outcome texts were OCR-corrected or left as TODO. A Nepali speaker must spot-check against the official PDF before production use.",
|
|
28
|
+
"subjects": [
|
|
29
|
+
{
|
|
30
|
+
"key": "nepali",
|
|
31
|
+
"nameEn": "Nepali",
|
|
32
|
+
"nameNe": "नेपाली",
|
|
33
|
+
"annex": "3 (क)",
|
|
34
|
+
"unitCount": 30,
|
|
35
|
+
"file": "subjects/nepali.json"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "english",
|
|
39
|
+
"nameEn": "English",
|
|
40
|
+
"nameNe": "अङ्ग्रेजी",
|
|
41
|
+
"annex": "3 (ख)",
|
|
42
|
+
"unitCount": 33,
|
|
43
|
+
"file": "subjects/english.json"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"key": "mathematics",
|
|
47
|
+
"nameEn": "Mathematics",
|
|
48
|
+
"nameNe": "गणित",
|
|
49
|
+
"annex": "3 (ग)",
|
|
50
|
+
"unitCount": 9,
|
|
51
|
+
"file": "subjects/mathematics.json"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"key": "social-studies",
|
|
55
|
+
"nameEn": "Social Studies and Human Value Education",
|
|
56
|
+
"nameNe": "सामाजिक अध्ययन तथा मानव मूल्य शिक्षा",
|
|
57
|
+
"annex": "3 (घ)",
|
|
58
|
+
"unitCount": 14,
|
|
59
|
+
"file": "subjects/social-studies.json"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"key": "science-technology",
|
|
63
|
+
"nameEn": "Science and Technology",
|
|
64
|
+
"nameNe": "विज्ञान तथा प्रविधि",
|
|
65
|
+
"annex": "3 (ङ)",
|
|
66
|
+
"unitCount": 16,
|
|
67
|
+
"file": "subjects/science-technology.json"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"key": "health-physical-creative-arts",
|
|
71
|
+
"nameEn": "Health, Physical and Creative Arts",
|
|
72
|
+
"nameNe": "स्वास्थ्य, शारीरिक तथा सिर्जनात्मक कला",
|
|
73
|
+
"annex": "3 (च)",
|
|
74
|
+
"unitCount": 26,
|
|
75
|
+
"file": "subjects/health-physical-creative-arts.json"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"key": "mother-tongue-local",
|
|
79
|
+
"nameEn": "Mother Tongue / Local Subject",
|
|
80
|
+
"nameNe": "मातृभाषा / स्थानीय विषय",
|
|
81
|
+
"annex": "school-defined",
|
|
82
|
+
"note": "CDC states tools for mother-tongue/local subject are prepared locally; no fixed national unit forms in this pack.",
|
|
83
|
+
"units": []
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"files": {
|
|
87
|
+
"proficiencyScale": "proficiency-scale.json",
|
|
88
|
+
"subjectsDir": "subjects/"
|
|
89
|
+
},
|
|
90
|
+
"stats": {
|
|
91
|
+
"unitForms": 128,
|
|
92
|
+
"fromPdfEnglish": 33,
|
|
93
|
+
"ocrCorrected": 13,
|
|
94
|
+
"partial": 1,
|
|
95
|
+
"scaffold": 81
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "cdc-g4-g5-proficiency-1-4",
|
|
3
|
+
"levels": [
|
|
4
|
+
{
|
|
5
|
+
"id": "advanced",
|
|
6
|
+
"name": "Advanced",
|
|
7
|
+
"nameNe": "उच्च",
|
|
8
|
+
"points": 4,
|
|
9
|
+
"color": "#059669",
|
|
10
|
+
"description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "proficient",
|
|
14
|
+
"name": "Proficient",
|
|
15
|
+
"nameNe": "दक्ष",
|
|
16
|
+
"points": 3,
|
|
17
|
+
"color": "#2563eb",
|
|
18
|
+
"description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "basic",
|
|
22
|
+
"name": "Basic",
|
|
23
|
+
"nameNe": "आधारभूत",
|
|
24
|
+
"points": 2,
|
|
25
|
+
"color": "#ca8a04",
|
|
26
|
+
"description": "Learning outcome partially achieved; remedial learning needed"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "below-basic",
|
|
30
|
+
"name": "Below Basic",
|
|
31
|
+
"nameNe": "आधारभूतभन्दा कम",
|
|
32
|
+
"points": 1,
|
|
33
|
+
"color": "#dc2626",
|
|
34
|
+
"description": "Learning outcome not achieved; remedial learning needed"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"gradingBoundary": {
|
|
38
|
+
"name": "Nepal CDC G4-5 Proficiency Scale (1-4)",
|
|
39
|
+
"description": "CDC Student Evaluation Guidelines 2083 formative proficiency scale. Percentage bands assume CDC formula: (sum of 1-4 ratings) / (4 × outcomes) × 100.",
|
|
40
|
+
"source": "CDC Student Evaluation Guidelines 2083, Table 2",
|
|
41
|
+
"boundaries": [
|
|
42
|
+
{
|
|
43
|
+
"id": "advanced",
|
|
44
|
+
"grade": "Advanced",
|
|
45
|
+
"minPercentage": 75,
|
|
46
|
+
"maxPercentage": 100,
|
|
47
|
+
"color": "#059669",
|
|
48
|
+
"description": "Avg rating ≈ 3–4 (उच्च / Advanced)"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "proficient",
|
|
52
|
+
"grade": "Proficient",
|
|
53
|
+
"minPercentage": 50,
|
|
54
|
+
"maxPercentage": 74,
|
|
55
|
+
"color": "#2563eb",
|
|
56
|
+
"description": "Avg rating ≈ 2–3 (दक्ष / Proficient)"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "basic",
|
|
60
|
+
"grade": "Basic",
|
|
61
|
+
"minPercentage": 25,
|
|
62
|
+
"maxPercentage": 49,
|
|
63
|
+
"color": "#ca8a04",
|
|
64
|
+
"description": "Avg rating ≈ 1–2 (आधारभूत / Basic)"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "below-basic",
|
|
68
|
+
"grade": "Below Basic",
|
|
69
|
+
"minPercentage": 0,
|
|
70
|
+
"maxPercentage": 24,
|
|
71
|
+
"color": "#dc2626",
|
|
72
|
+
"description": "Avg rating ≈ 1 (आधारभूतभन्दा कम / Below Basic)"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
}
|