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:

  1. Buka menu Pengguna (atau Pengaturan → Manajemen Pengguna).
  2. Klik tombol Edit (pensil) pada baris akun yang lupa kata sandi.
  3. Pada modal Edit Pengguna, isi kolom Akun → Password dengan kata sandi baru.
  4. 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 instalasiLokasi 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-wal dan database.sqlite3-shm di samping database, salin ketiganya bersamaan, baik saat menyalin keluar maupun kembali.

Linux (Self-Host)

  1. Hentikan aplikasi (Ctrl+C di terminal atau stop service).

  2. Clone proyek di folder mana pun, lalu pasang dependensi:

    git clone https://github.com/sira313/rapkumer
    cd rapkumer
    pnpm install
  3. Salin database dari lokasi aplikasi ke folder hasil clone (ganti <jalan> dengan lokasi asal):

    cp <jalan>/database.sqlite3 data/database.sqlite3
  4. Buka studio database, hapus semua baris bertipe admin pada tabel auth_user, lalu tutup studio:

    pnpm db:studio
  5. Salin database kembali ke lokasi asal aplikasi:

    cp data/database.sqlite3 <jalan>/database.sqlite3
  6. Jalankan ulang aplikasi, lalu masuk dengan Admin / Admin123:

    pnpm dev
  7. Aplikasi memaksa penggantian kata sandi. Buka Pengaturan → Ganti Kata Sandi.

Windows (Instalasi lewat Installer)

  1. Tutup aplikasi sepenuhnya, termasuk jendela atau terminal yang menjalankannya.

  2. Pastikan Node.js 20+ dan pnpm terpasang. Bila belum, pasang dulu.

  3. Clone proyek di folder terpisah, lalu pasang dependensi:

    git clone https://github.com/sira313/rapkumer
    cd rapkumer
    pnpm install
  4. Salin database dari folder data aplikasi ke folder hasil clone:

    copy "%LOCALAPPDATA%\Rapkumer-data\database.sqlite3" data\database.sqlite3
  5. Buka studio database, hapus semua baris bertipe admin pada tabel auth_user, lalu tutup studio:

    pnpm db:studio
  6. Salin database kembali ke aplikasi:

    copy data\database.sqlite3 "%LOCALAPPDATA%\Rapkumer-data\database.sqlite3"
  7. Jalankan ulang aplikasi, masuk dengan Admin / Admin123, lalu ganti kata sandi lewat Pengaturan → Ganti Kata Sandi.

Pemasangan mandiri di Windows (menjalankan lewat pnpm atau node langsung) mengikuti langkah Linux, dengan lokasi database sesuai kolom tabel di atas.