Lupa Kata Sandi
Pemilik akun tidak bisa mengganti sendiri kata sandi yang sudah lupa. Jalur pemulihannya berbeda untuk dua jenis akun:
- Akun pengguna (guru, wali kelas, wali asuh, kepala sekolah): direset oleh admin dari dalam aplikasi lewat menu Pengguna.
- Akun admin: tidak ada jalur reset dari dalam aplikasi. Satu-satunya jalan adalah mengubahnya langsung di database lewat
pnpm db:studio.
Lupa Kata Sandi Pengguna (Guru, Wali Kelas, Wali Asuh, Kepala Sekolah)
Admin, atau pengguna lain yang memegang izin user_set_permissions, mereset kata sandi akun non-admin dari dalam aplikasi:
- 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 bisa langsung masuk memakai kata sandi baru itu.
Akun admin tidak tampil di daftar menu Pengguna, jadi tidak bisa direset dari sini (lihat bagian bawah).
Aturan ini hanya berlaku saat kata sandi benar-benar lupa. Pengguna yang masih ingat kata sandinya cukup menggantinya 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: hapus akun admin di database lewat studio, lalu jalankan ulang aplikasi agar akun bawaan dibuat lagi.
Prinsip Kerja
Akun admin tersimpan di tabel auth_user pada file database SQLite. Hapus semua baris bertipe admin. Bila tidak ada akun admin tersisa, aplikasi membuat ulang akun Admin dengan kata sandi Admin123 saat dijalankan ulang, dan pengguna dipaksa mengganti kata sandi. Baris lain tidak disentuh, jadi data sekolah, murid, dan nilai aman.
Cara ini 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, baik saat menyalin keluar maupun kembali.
Linux (Self-Host)
Hentikan aplikasi (Ctrl+C di terminal atau 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 hasil clone (ganti
<jalan>dengan lokasi asal):cp <jalan>/database.sqlite3 data/database.sqlite3Buka studio database, hapus semua baris bertipe
adminpada 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 masuk dengan
Admin/Admin123:pnpm devAplikasi memaksa penggantian kata sandi. Buka Pengaturan → Ganti Kata Sandi.
Windows (Instalasi lewat Installer)
Tutup aplikasi sepenuhnya, termasuk jendela atau terminal yang menjalankannya.
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 hasil clone:
copy "%LOCALAPPDATA%\Rapkumer-data\database.sqlite3" data\database.sqlite3Buka studio database, hapus semua baris bertipe
adminpada 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, masuk dengan
Admin/Admin123, lalu ganti kata sandi lewat Pengaturan → Ganti Kata Sandi.
Pemasangan mandiri di Windows (menjalankan lewat
pnpmataunodelangsung) mengikuti langkah Linux, dengan lokasi database sesuai kolom tabel di atas.