Student & Parent Data¶
SSOT untuk database siswa dan orang tua yang menjadi baseline Tier 1 Starter.
Last verified: 2026-04-01
1. Visi & Best Practice¶
Master data siswa dan orang tua pada sekolah harus memungkinkan: - pencarian cepat data siswa dan orang tua - detail record yang mudah dibuka admin - input data baru dan relasi orang tua - import data untuk percepatan onboarding - akses namespaced untuk admin staff bila diperlukan
Tier 1 berfokus pada data operasional inti, bukan MDM enterprise lintas unit.
2. Scope Tier 1¶
| Area | Kebutuhan Operasional |
|---|---|
| Database siswa | List, detail, tambah, import, arsip/aktifkan kembali |
| Database orang tua | List, detail, tambah, relasi, arsip/aktifkan kembali |
| Namespaced admin staff | Akses baca-saja untuk TU/admin staff |
| Portal linkage | Data mendukung portal siswa/orang tua dan billing |
3. Current Implementation Status¶
| Fitur | Status | Catatan |
|---|---|---|
| Daftar siswa admin | ✅ Done | List aktif/arsip, archive/reactivate, detail button hanya untuk admin |
| Detail siswa | ✅ Done | Edit detail siswa terverifikasi via E2E |
| Tambah/import siswa | ✅ Done | Tambah manual + import CSV/XLSX dengan normalisasi blood group |
| Daftar orang tua admin | ✅ Done | List aktif/arsip, archive/reactivate, akun login terkait ikut dinonaktifkan/diaktifkan |
| Detail orang tua | ✅ Done | Edit detail + relasi siswa terverifikasi via E2E |
| Tambah data orang tua + relasi | ✅ Done | Form manual + upload relasi kompatibel CSV/XLSX async parser, update relasi replace penuh |
| Namespaced admin-staff student list | ✅ Done | Read-only, tanpa aksi mutasi |
| Namespaced admin-staff parent list | ✅ Done | Read-only, tanpa aksi mutasi |
Catatan Operasional 2026-04-01¶
- Daftar relasi orang tua (
op.parent) tidak lagi dipotong80record di tab relasi. - Flow update/import relasi parent sekarang memakai replace
student_ids, bukan append-only, sehingga siswa yang dilepas dari relasi benar-benar terhapus dari relasi backend. - Seluruh page parent database yang masih memakai RPC langsung sekarang mengikuti context timezone sekolah, bukan hardcoded
Asia/Jakarta. - Upload relasi orang tua tidak lagi melaporkan semua batch sebagai berhasil saat sebagian batch gagal diproses.
4. QA Evidence¶
| Evidence | Status | Catatan |
|---|---|---|
P0-T1-MD-001 |
✅ Verified | Admin create student, archive, lalu reactivate |
P0-T1-MD-002 |
✅ Verified | Admin create parent, archive, lalu reactivate |
P0-T1-MD-003 |
✅ Verified | /admin-staff/students/list dan /admin-staff/parents/list benar-benar read-only |
P0-T1-MD-004 |
✅ Verified | Admin import student via CSV sampai muncul di list |
P0-T1-MD-005 |
✅ Verified | Admin edit detail student + parent, termasuk update relasi siswa |
importWorkbook.service |
✅ Verified | Parser CSV/XLSX async diproteksi unit test |
| UAT starter master data | ✅ Verified | docs/qa/uat-scenarios.md baseline; critical proof ada di Playwright |
5. File References¶
Frontend¶
src/views/AdminViews/StudentDatabase/DaftarSiswa.vuesrc/views/AdminViews/StudentDatabase/DetailSiswa.vuesrc/views/AdminViews/StudentDatabase/TambahSiswa.vuesrc/views/AdminViews/StudentDatabase/UploadSiswa.vuesrc/views/AdminViews/ParentDatabase/ListOrtu.vuesrc/views/AdminViews/ParentDatabase/DetailOrtu.vuesrc/views/AdminViews/ParentDatabase/OrtuNew.vuesrc/views/AdminViews/ParentDatabase/FormOrtu.vuesrc/views/AdminViews/ParentDatabase/UploadRelasiOrtu.vuesrc/services/admin/importWorkbook.service.jssrc/router/adminRoutes.js
QA¶
tests/e2e/smoke/tier1_smoke.spec.tstests/e2e/critical/tier1_admin_operations_flow.spec.tstests/unit/services/importWorkbook.service.spec.jsdocs/qa/uat-scenarios.md
7. Panduan Konfigurasi Implementor¶
Lihat configuration-guides/user-data.md — impor siswa, guru, ortu.
8. Panduan End User¶
| Role | Panduan |
|---|---|
| Staff TU | admin-staff.md |
| Siswa | student.md |
| Orang tua | parent.md |