slbApp adalah platform web modern yang dirancang khusus untuk Sekolah Luar Biasa (SLB), pusat terapi, dan institusi pendidikan inklusi. Sistem ini mengintegrasikan Asesmen Diagnostik Siswa, Program Pembelajaran Individual (PPI), Buku Penghubung Harian Orang Tua & Guru, Pemantauan Perkembangan Berbasis Radar & Grafik Tren, serta Laporan Eksekutif Yayasan.
- Identitas Sekolah & Yayasan: Pengaturan nama institusi, NPSN, semester aktif, kontak, dan logo sekolah yang langsung terintegrasi ke seluruh kop surat rapor.
- Manajemen Pengguna Lengkap (RBAC): Pengelolaan akun multi-peran (Super Admin, Pengurus Yayasan, Guru Kelas, dan Orang Tua/Wali) dengan fitur reset sandi instan dan show/hide password toggle.
- Master Rombel & Jenjang: Pembagian kelas adaptif (TKLB, SDLB, SMPLB, SMALB) dan penugasan wali kelas binaan.
- Master Kurikulum Khusus: Manajemen mata pelajaran terapi, bina diri (ADL), motorik, komunikasi, dan vokasional.
- Audit Log Terpusat: Pencatatan riwayat aktivitas pengguna (Create, Update, Delete, Assessment, Evaluasi) untuk transparansi data.
- Asesmen Diagnostik: Format observasi terstandar 5 aspek (Akademik, Bahasa & Komunikasi, Emosi & Perilaku, Fisik & Motorik, Bina Diri/ADL) dengan cetak lembar asesmen PDF-ready.
- Program Pembelajaran Individual (PPI):
- Penetapan Baseline Kemampuan Awal, Tujuan Jangka Panjang, dan Target Jangka Pendek.
- Evaluasi berkala dengan status capaian (Mandiri, Dengan Bantuan, Belum Mampu).
- Cetak Rapor PPI resmi berformat standar pendidikan khusus.
- Buku Penghubung Digital: Komunikasi harian 2 arah antara guru dan orang tua mengenai catatan suasana hati (mood), kesehatan, makan, aktivitas terapi, serta unggah foto dokumentasi kegiatan.
- Generator Narasi Rapor Otomatis: Penyusunan draf deskripsi capaian rapor naratif secara otomatis berbasis kecerdasan agregasi skor kemandirian anak.
- Ekspor Data: Rekapitulasi semester komprehensif ke format CSV/Excel dalam satu klik.
- Dashboard Perkembangan Anak: Visualisasi capaian belajar, ringkasan kemandirian, dan profil kebutuhan khusus anak binaan.
- Grafik Tren Kemandirian & Radar Aspek: Analisis visual pertumbuhan kemampuan bina diri dan perkembangan multi-aspek anak dari waktu ke waktu.
- Buku Penghubung dari Rumah: Orang tua dapat menulis kabar harian dari rumah dan memberikan konfirmasi/tanggapan atas catatan terapi dari sekolah.
- Akses Cepat WhatsApp Guru: Integrasi tombol direct chat WhatsApp ke wali kelas masing-masing anak.
- Ikhtisar Demografi Disabilitas: Visualisasi persentase klasifikasi disabilitas siswa (Autisme, Tunarungu, Tunanetra, Tunagrahita, Tunadaksa, Slow Learner, dll.).
- Indeks Efektivitas Kemandirian: Pantauan agregat keberhasilan target PPI di seluruh jenjang rombel sekolah.
- Ekspor Komprehensif (All Data Rekap): Unduh seluruh master database sekolah (siswa, guru, wali murid, evaluasi, dan modul) dalam satu berkas laporan.
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS dengan palet warna adaptif pendidikan inklusi (Emerald & Slate)
- Database & ORM: Neon Serverless PostgreSQL & Prisma ORM
- Autentikasi: NextAuth.js (Credentials Provider & Role-Based Middleware)
- Visualisasi Data: Recharts (Radar Chart, Line Trend Chart, Pie Breakdown)
- Ikonografi: Lucide React (Tree-shaken package optimization)
- Enkripsi: Bcryptjs untuk keamanan hashing password
Pastikan Anda telah menginstal:
git clone https://github.com/anasysuf/slbapp.git
cd slbappnpm installBuat berkas .env di direktori utama (root) proyek dan sesuaikan nilainya:
# Database Connection (Neon PostgreSQL)
DATABASE_URL="postgresql://username:password@ep-sample-pooler.region.neon.tech/neondb?sslmode=require"
# NextAuth Secret & URL
NEXTAUTH_SECRET="buat-kunci-rahasia-acak-di-sini-32-karakter-min"
NEXTAUTH_URL="http://localhost:3000"# Generate Prisma Client
npx prisma generate
# Sinkronkan skema ke database PostgreSQL
npx prisma db push
# (Opsional) Jalankan seed data awal
npm run seednpm run devBuka peramban (browser) dan akses: http://localhost:3000
Gunakan akun berikut untuk menguji masing-masing hak akses:
| Peran (Role) | Password | Hak Akses Utama | |
|---|---|---|---|
| Super Admin | admin@slb.sch.id |
admin123 |
Master data sekolah, users, kelas, mapel, & audit logs |
| Guru Kelas 1 | guru@slb.sch.id |
guru123 |
Asesmen diagnostik, target PPI, buku penghubung, & rekap |
| Guru Kelas 2 | guru2@slb.sch.id |
guru123 |
Asesmen diagnostik, target PPI, buku penghubung, & rekap |
| Guru Kelas 3 | guru3@slb.sch.id |
guru123 |
Asesmen diagnostik, target PPI, buku penghubung, & rekap |
| Guru Kelas 4 | guru4@slb.sch.id |
guru123 |
Asesmen diagnostik, target PPI, buku penghubung, & rekap |
| Orang Tua 1 | ortu@slb.sch.id |
ortu123 |
Pantauan ananda, radar perkembangan, & buku penghubung |
| Orang Tua 2 | ortu2@slb.sch.id |
ortu123 |
Pantauan ananda, radar perkembangan, & buku penghubung |
| Orang Tua 3 | ortu3@slb.sch.id |
ortu123 |
Pantauan ananda, radar perkembangan, & buku penghubung |
| Yayasan | pimpinan@yayasan.org |
yayasan123 |
Dashboard eksekutif pimpinan & ekspor laporan menyeluruh |
slbApp/
βββ prisma/
β βββ schema.prisma # Skema database relasional (User, Student, PPI, Asesmen, Journal, dll.)
βββ public/ # Aset publik statis dan favicon
βββ src/
β βββ app/ # Next.js 14 App Router
β β βββ admin/ # Dashboard & Master Panel Super Admin
β β βββ api/ # RESTful API Endpoints (CRUD, Stats, Auth, Rekap)
β β βββ guru/ # Portal Guru (Asesmen, PPI, Evaluasi, Jurnal, Rekap, Cetak)
β β βββ login/ # Halaman Autentikasi dengan toggle Show Password
β β βββ ortu/ # Portal Orang Tua Murid
β β βββ yayasan/ # Portal Eksekutif Yayasan
β β βββ globals.css # Tailwind CSS & Hardware Accelerated Utilities
β β βββ layout.tsx # Root Layout & NextAuth Session Provider
β βββ components/ # Komponen UI Reusable (Header, Sidebar, Charts, Modals, Footer)
β βββ lib/ # Utilitas Helper (Prisma Client, Auth Options, CSV Exporter, Loggers)
β βββ middleware.ts # NextAuth Route Protection & RBAC Redirection
βββ next.config.mjs # Optimasi Compiler, Caching, & Tree-Shaking
βββ package.json # Daftar Dependensi & Script Proyek
βββ README.md # Dokumentasi Resmi Proyek
- Database GroupBy Aggregation: Kalkulasi statistik dan rekapitulasi diproses langsung pada level database server PostgreSQL.
- Concurrent Query Execution: Pengambilan data relasional multi-tabel menggunakan
Promise.allparalel tanpa waterfall delay. - Client Memoization: Pencarian dan penyaringan data di front-end dibungkus dengan
useMemo(zero typing lag). - Mobile-First Responsive Pill/Badges: Standarisasi bubble status simetris yang anti-gepeng di layar smartphone (320pxβ768px).
- Aggressive Asset Caching: Konfigurasi header cache immutable untuk berkas statis dan kompresi aset gambar.
Dikembangkan dengan dedikasi untuk kemajuan pendidikan inklusi dan Sekolah Luar Biasa (SLB) oleh:
- Muhammad Anas Yusuf (@anasysuf)
Hak Cipta Β© 2026 Muhammad Anas Yusuf. Seluruh hak cipta dilindungi undang-undang.
Proyek ini dilisensikan di bawah Non-Commercial Software License (Lisensi Non-Komersial).
- β Diizinkan (Permitted): Penggunaan gratis untuk sekolah luar biasa (SLB), yayasan nirlaba, guru, terapis, orang tua, dan tujuan riset/edukasi tanpa memungut biaya komersial.
- β Dilarang (Prohibited): Penggunaan untuk tujuan komersial, monetisasi, penjualan ulang (reselling), hosting SaaS berbayar, atau keuntungan finansial lainnya tanpa izin tertulis dari pemegang hak cipta (Muhammad Anas Yusuf).