Skip to content

Repository files navigation

🏫 Sistem Informasi Manajemen & Asesmen SLB (slbApp)

Next.js TypeScript Tailwind CSS Prisma ORM Neon PostgreSQL License: Non-Commercial

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.


🌟 Fitur Utama

1. πŸ›‘οΈ Portal Super Administrator & Master Data

  • 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.

2. πŸ‘©β€πŸ« Portal Guru Kelas (Pendidik Khusus)

  • 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.

3. πŸ‘¨β€πŸ‘©β€πŸ‘§ Portal Orang Tua & Wali Murid

  • 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.

4. πŸ›οΈ Portal Eksekutif Yayasan & Pimpinan

  • 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.

πŸ› οΈ Arsitektur & Teknologi


πŸš€ Panduan Memulai Cepat (Local Development)

1. Prasyarat

Pastikan Anda telah menginstal:

2. Kloning Repositori

git clone https://github.com/anasysuf/slbapp.git
cd slbapp

3. Instalasi Dependensi

npm install

4. Konfigurasi Environment Variable (.env)

Buat 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"

5. Sinkronisasi Skema Database & Seeding

# Generate Prisma Client
npx prisma generate

# Sinkronkan skema ke database PostgreSQL
npx prisma db push

# (Opsional) Jalankan seed data awal
npm run seed

6. Jalankan Server Pengembangan

npm run dev

Buka peramban (browser) dan akses: http://localhost:3000


πŸ”‘ Akun Uji Coba (Demo Credentials)

Gunakan akun berikut untuk menguji masing-masing hak akses:

Peran (Role) Email 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

πŸ“‚ Struktur Direktori Proyek

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

⚑ Performa & Optimasi

  • Database GroupBy Aggregation: Kalkulasi statistik dan rekapitulasi diproses langsung pada level database server PostgreSQL.
  • Concurrent Query Execution: Pengambilan data relasional multi-tabel menggunakan Promise.all paralel 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.

πŸ‘¨β€πŸ’» Pembuat & Pengembang (Author)

Dikembangkan dengan dedikasi untuk kemajuan pendidikan inklusi dan Sekolah Luar Biasa (SLB) oleh:


πŸ“„ Lisensi (License)

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).

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages