Lupa Kata Sandi
Pemilik akun tidak bisa mengganti sendiri kata sandi yang lupa. Jalur pemulihan berbeda untuk dua jenis akun:
- Akun pengguna (guru, wali kelas, wali asuh, kepala sekolah): bisa direset oleh admin dari dalam aplikasi lewat menu Pengguna.
- Akun admin: tidak ada jalur reset dari dalam aplikasi. Satu-satunya cara lewat database menggunakan
pnpm db:studio.
Lupa Kata Sandi Pengguna (Guru, Wali Kelas, Wali Asuh, Kepala Sekolah)
Kata sandi akun non-admin direset oleh admin dari dalam aplikasi, atau oleh pengguna lain yang memegang izin user_set_permissions:
- Buka menu Pengguna (atau Pengaturan → Manajemen Pengguna).
- Klik tombol Edit (pensil) pada baris akun yang lupa kata sandi.
- Pada modal Edit Pengguna, isi kolom Akun → Password dengan kata sandi baru.
- Klik Simpan.
Pengguna langsung login memakai kata sandi baru tersebut.
Akun admin tidak tampil di daftar menu Pengguna, jadi tidak bisa direset dari sini (lihat bagian bawah).
Syarat “tidak bisa admin reset” hanya berlaku saat kata sandi lupa. Pengguna yang masih mengingat kata sandi saat ini cukup mengganti sendiri lewat Pengaturan → Ganti Kata Sandi tanpa bantuan admin.
Lupa Kata Sandi Admin
Kata sandi akun admin tidak bisa direset dari dalam aplikasi. Satu-satunya jalan: reset akun admin di database lewat studio, lalu aplikasi membuat ulang akun bawaan saat dijalankan ulang.
Prinsip Kerja
Akun admin tersimpan di tabel auth_user pada file database SQLite. Hapus semua baris ber-type admin; bila tidak ada satu pun akun admin tersisa, aplikasi membuat ulang akun Admin dengan kata sandi Admin123 saat dijalankan ulang, dan login dipaksa mengganti kata sandi. Baris lain tidak disentuh, jadi data sekolah, murid, dan nilai aman.
Butuh akses ke folder database dan lingkungan Node.js (
pnpm db:studio). Lokasi database:
| Skema instalasi | Lokasi database |
|---|---|
| Self-host (Linux) | data/database.sqlite3 di folder proyek |
| Self-host (DB kustom) | sesuai nilai DB_URL di .env |
| Windows (installer) | %LOCALAPPDATA%\Rapkumer-data\database.sqlite3 |
SQLite mode WAL: bila ada file
database.sqlite3-waldandatabase.sqlite3-shmdi samping database, salin ketiganya bersamaan (naik maupun turun).
Linux (Self-Host)
Hentikan aplikasi (Ctrl+C di terminal / stop service).
Clone proyek di folder mana pun, lalu pasang dependensi:
git clone https://github.com/sira313/rapkumer cd rapkumer pnpm installSalin database dari lokasi aplikasi ke folder clone (ganti
<jalan>dengan lokasi asal):cp <jalan>/database.sqlite3 data/database.sqlite3Buka studio database, hapus semua baris ber-
typeadminpada tabel auth_user, lalu tutup studio:pnpm db:studioSalin database kembali ke lokasi asal aplikasi:
cp data/database.sqlite3 <jalan>/database.sqlite3Jalankan ulang aplikasi, lalu login dengan
Admin/Admin123:pnpm devLogin dipaksa mengganti kata sandi — buka Pengaturan → Ganti Kata Sandi.
Windows (Instalasi Installer)
Tutup aplikasi sepenuhnya (tutup jendela/terminal yang menjalankan Rapkumer).
Pastikan Node.js 20+ dan pnpm terpasang. Bila belum, pasang dulu.
Clone proyek di folder terpisah, lalu pasang dependensi:
git clone https://github.com/sira313/rapkumer cd rapkumer pnpm installSalin database dari folder data aplikasi ke folder clone:
copy "%LOCALAPPDATA%\Rapkumer-data\database.sqlite3" data\database.sqlite3Buka studio database, hapus semua baris ber-
typeadminpada tabel auth_user, lalu tutup studio:pnpm db:studioSalin database kembali ke aplikasi:
copy data\database.sqlite3 "%LOCALAPPDATA%\Rapkumer-data\database.sqlite3"Jalankan ulang aplikasi, lalu login dengan
Admin/Admin123dan ganti kata sandi lewat Pengaturan → Ganti Kata Sandi.
Self-host di Windows (menjalankan lewat
pnpm/nodelangsung) mengikuti langkah Linux, dengan lokasi database mengikuti kolom tabel di atas.