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:

  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 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 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 (naik maupun turun).

Linux (Self-Host)

  1. Hentikan aplikasi (Ctrl+C di terminal / 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 clone (ganti <jalan> dengan lokasi asal):

    cp <jalan>/database.sqlite3 data/database.sqlite3
  4. Buka studio database, hapus semua baris ber-type 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 login dengan Admin / Admin123:

    pnpm dev
  7. Login dipaksa mengganti kata sandi — buka Pengaturan → Ganti Kata Sandi.

Windows (Instalasi Installer)

  1. Tutup aplikasi sepenuhnya (tutup jendela/terminal yang menjalankan Rapkumer).

  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 clone:

    copy "%LOCALAPPDATA%\Rapkumer-data\database.sqlite3" data\database.sqlite3
  5. Buka studio database, hapus semua baris ber-type 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, lalu login dengan Admin / Admin123 dan ganti kata sandi lewat Pengaturan → Ganti Kata Sandi.

Self-host di Windows (menjalankan lewat pnpm/node langsung) mengikuti langkah Linux, dengan lokasi database mengikuti kolom tabel di atas.