Logo EDUTECHNOEDUTECHNOLearn Beyond Limits

Panduan mahasiswa dan pengelola

Web 1.8.12 · serbaindo.sch.id. Paket kode dan installer diserahkan kepada pengelola; kunci keamanan dan data mahasiswa tidak menjadi bagian unduhan publik.

PANDUAN MAHASISWA

Dari pendaftaran sampai hasil belajar

1. Daftar dan masuk

  1. Buka Masuk / Daftar. Gunakan alamat situs resmi yang diberikan lembaga.
  2. Pilih Daftar, isi nama lengkap, tempat dan tanggal lahir, alamat email, serta kata sandi 12–200 karakter. Baca persetujuan privasi sebelum melanjutkan.
  3. Simpan kata sandi secara pribadi. Jangan mengirim kata sandi, kode Authenticator, atau kode pemulihan kepada pengajar maupun melalui chat.
  4. Setelah masuk, lengkapi avatar/foto dan tujuan belajar melalui Profil. Ucapan ulang tahun ditampilkan saat aplikasi dibuka pada tanggal ulang tahun.

Instalasi serbaindo.sch.id mempunyai akun tersendiri. APK lama belum diarahkan ke domain Hostinger ini. Akun dan data dari server lama belum dipindahkan.

2. Buka level dan kelas

Masukkan kode akses yang diberikan Admin untuk level yang ditetapkan. Kode dapat terikat pada email, mempunyai masa berlaku, dan hanya dapat digunakan sekali. Katalog memuat Basic serta N5–N1. Jika level belum aktif, hubungi pengelola kelas.

Pilih Buka ruang kelas untuk melihat kelas yang ditetapkan kepada Anda. Keanggotaan kelas, kode akses level, dan enrollment program individual adalah tiga pengaturan berbeda; Admin perlu mengaktifkan masing-masing sesuai program.

Suasana belajar: meteor dan musik alam

Kontrol berada di bagian atas seluruh halaman. Tekan Stop animasi untuk menghentikan meteor atau Nyalakan animasi untuk menyalakannya kembali. Pilihan disimpan di browser perangkat ini. Perangkat dengan pengurangan gerakan memulai dengan animasi mati.

Tekan Putar suara untuk musik Alam Pagi: nada lembut, air dan kicau burung hasil sintesis orisinal, tanpa vokal. Geser volume sesuai kebutuhan; Stop suara langsung menghentikannya. WAV dimuat hanya saat diperlukan. Suara dijeda selama ujian, menu listening dan tab tersembunyi. Pada perpindahan ke halaman lain, browser mungkin meminta Anda menekan Putar suara lagi. Kontrol ini terpisah dari alarm KPI harian.

3. Pelajari materi

Materi mencakup kana, kosakata, kanji, tata bahasa, bacaan, listening, percakapan, dan latihan menulis. Gunakan kartu hafalan, cara baca, arti, contoh kalimat, penanda sudah dipelajari/perlu diulang, serta audio perangkat bila tersedia. Foto TC 1 ditampilkan pada pembukaan level; TC 1, TC 2, dan TC 3 juga tersedia di portal.

Untuk Basic, kerjakan enam tugas sesuai instruksi: hiragana; katakana; bilangan dan jam; hari, tanggal, bulan, diri dan keluarga; perubahan kata kerja; serta daftar kata sifat, keterangan, dan kata kerja. Tulis sesuai contoh dengan memperhatikan bentuk, urutan goresan, ukuran, dan kerapian.

Video YouTube dan dokumen Drive dibuka sesuai izin pemilik. Video “Tidak Publik/Unlisted” tetap dapat dilihat oleh siapa pun yang menerima tautannya. Ikuti arahan Sensei mengenai pengaturan berbagi.

4. Kirim tugas dan revisi

  1. Buka kelas → tugas; baca instruksi, tenggat, dan rubrik.
  2. Tulis jawaban atau tempel tautan yang dapat diakses pengajar. Unggah dokumen langsung dan rekaman suara di aplikasi belum tersedia pada rilis ini.
  3. Pilih Kirim tugas. Tunggu pesan Tugas diterima server; teks yang masih berupa draf belum dianggap terkumpul.
  4. Lihat status, nilai, dan komentar. Jika diminta revisi, perbaiki lalu kirim kembali sebelum tenggat yang berlaku.

Ketika koneksi terputus, pertahankan tab dan coba kirim lagi setelah terhubung. Draf tugas kelas disimpan pada tab/perangkat tersebut; belum otomatis tersinkron ke perangkat lain. Jangan menghapus data browser sebelum pengumpulan berhasil.

5. Kuis, ujian, dan integritas

Pilih topik/jenis latihan, level, varian, dan jumlah soal yang tersedia. Baca timer serta pemberitahuan pengawasan sebelum mulai. Kerjakan sendiri: jangan menyontek, memakai joki, atau meminta AI mengerjakan jawaban. Peringatan keluar halaman membantu mencatat aktivitas, tetapi browser tidak mengunci sistem operasi.

Jika sesi memakai kamera, baca tujuan, interval 15 menit, akses petugas, dan penyimpanan maksimal tujuh hari sebelum menyetujui. Kamera tidak digunakan diam-diam di luar sesi yang diberitahukan. Penolakan izin mengikuti ketentuan sesi; hubungi pengajar bila perangkat tidak mendukung.

Nilai soal objektif dihitung server. Kiriman melewati batas waktu tidak otomatis mendapat perpanjangan karena koneksi putus. Lihat riwayat hasil dan arahan pengajar untuk remedial. Sertifikat yang dapat dicetak adalah sertifikat latihan internal, bukan sertifikat resmi JLPT, J.TEST, JFT-Basic, atau NAT-TEST; QR/verifikasi publik belum tersedia.

6. Keamanan akun

Keluar setelah menggunakan perangkat bersama. Melalui pengelolaan sesi, gunakan Keluar dari semua perangkat jika diperlukan. Ganti kata sandi dari akun yang masih dapat diakses; tindakan ini mengakhiri sesi. Pemulihan kata sandi lewat email belum tersedia. Kode pemulihan Authenticator membantu faktor kedua, bukan mengganti kata sandi yang terlupa.

Ingat tujuan awalmu. Belajar dengan benar hari ini adalah bekal untuk hidup dan bekerja di Jepang.

BARU · KPI & ALARM HARIAN

Rutinitas Basic dan N5

Jadwal Senin–Sabtu memuat 19 kegiatan dan 20 checkpoint: bangun 04.00 atau Subuh −15 menit, ibadah/renungan, air putih, olahraga 05.00–06.30, persiapan/Duha, belajar, jeda, kegiatan sore, refleksi dan penutupan 22.00. Waktu ibadah/renungan mengikuti jadwal yang ditetapkan Admin, termasuk penyesuaian Jumat, puasa dan kondisi mahasiswa.

Mahasiswa

  1. Masuk ke web → KPI & Alarm Harian. Pilihan awal adalah Basic & N5.
  2. Tekan Aktifkan alarm web, izinkan notifikasi jika tersedia, lalu Tes alarm. Periksa volume HP. Setelah membuka kembali web, aktifkan ulang suara melalui tombol tersebut.
  3. Pilih pengingat tepat waktu atau 5, 10, 15 menit sebelumnya, lalu simpan. Alarm tetap berjalan ketika berpindah menu dalam web; ujian aktif tidak diinterupsi.
  4. Ketika alarm muncul, pilih Buka check-in untuk melaporkan foto kegiatan. Tunda 5 menit hanya menunda pengingat, bukan mengubah tenggat atau KPI.
  5. Gunakan Buka jadwal, foto & KPI untuk melihat bukti dan status verifikasi.

Saat layar terkunci atau browser ditutup: alarm web tidak dijamin berjalan. Gunakan Unduh kalender 7 hari (.ics), impor ke kalender HP, lalu periksa pengingat dan izin kalender. Berkas hanya berisi tanggal yang telah diatur Admin. Hapus salinan lama dan impor ulang setelah perubahan jadwal; kalender tidak tersinkron otomatis dan tetap ada setelah keluar akun web.

Admin

  1. Masuk dengan Authenticator dan izin Program, Data mahasiswa, Nilai, serta Bukti. Buka Kelola program terpadu.
  2. Buat atau ubah angkatan; tetapkan zona waktu, retensi foto, toleransi, mode bangun, dan peninjauan waktu istirahat. Aktifkan angkatan sesuai kebijakan lembaga.
  3. Daftarkan mahasiswa ke program Basic/N5, tanggal mulai dan durasi. Pastikan kode akses level juga aktif.
  4. Buka program mahasiswa → Atur jadwal tanggal. Isi lokasi, sumber, waktu ibadah/renungan dan waktu selesai yang benar untuk tanggal itu. Gunakan penyesuaian untuk Jumat, puasa atau kebutuhan peserta. Ulangi untuk tanggal berikutnya.
  5. Tinjau foto dan waktu pengambilan melalui Verifikasi bukti. Berikan izin sah dengan alasan bila diperlukan.

KPI = total bukti valid tepat waktu ÷ total kewajiban setelah izin sah, minimal 90%. Bukti pending membuat nilai sementara, nol kewajiban adalah N/A. KKM 90 per kompetensi; remedial memakai (nilai efektif lama + nilai baru) ÷ 2. Alarm, checklist atau foto saja tidak otomatis membuktikan durasi dan mutu kegiatan.

Rilis ini tidak mengubah APK 1.4.0. Notifikasi saat web ditutup melalui server push dan uji alarm pada HP fisik belum dilakukan.

PANDUAN ADMIN

Satu platform, izin sesuai pekerjaan

Hanya ada dua jenis akun: Admin dan Mahasiswa. Owner, leader, IT, kurikulum, serta pengajar tetap memakai akun Admin pribadi; tidak ada jenjang “master admin”. Berikan izin kerja seperlunya.

1. Aktivasi Admin pertama

  1. Tim IT menyelesaikan konfigurasi server dan menyerahkan kunci aktivasi melalui kanal pribadi yang aman.
  2. Buka formulir Aktivasi Admin pertama. Isi kunci hosting tersebut, nama, email pribadi, dan kata sandi baru. Kunci server lama tidak berlaku pada instalasi baru.
  3. Di Profil → Keamanan, mulai penyiapan Authenticator. Tambahkan rahasia yang ditampilkan aplikasi ke aplikasi authenticator pribadi; isi kode enam digit untuk mengaktifkan.
  4. Simpan delapan kode pemulihan di tempat aman. Kode pemulihan hanya dapat digunakan sekali. Jangan memasukkannya ke dokumen bersama atau repositori.
  5. Masuk kembali bila diminta. API pengelolaan mensyaratkan Admin, autentikator aktif, sesi terverifikasi, dan izin kerja yang tepat.

2. Undang dan atur tim

Buka ruang kelas → Izin Admin. Buat undangan untuk email anggota, centang izin kerja, lalu konfirmasi dengan kata sandi dan kode Authenticator sendiri pada formulir. Bagikan kode undangan secara pribadi; pengiriman email otomatis belum ada. Penerima mendaftar dengan email yang sama, mengaktifkan Authenticator, menerima undangan melalui Profil → Keamanan, lalu masuk kembali.

Izin kerjaFungsi
Portal publikProfil, berita, pengumuman, galeri, FAQ, dan LIST JOB.
Data & akses mahasiswaData akun, kode level, nonaktif/pulihkan mahasiswa. Daftar peserta job memerlukan izin ini bersama Portal.
Kelas dan keanggotaanProgram dan kelas. Mengubah anggota juga memerlukan izin data mahasiswa.
Materi dan tugasMateri, tautan, tugas, rubrik, serta tenggat.
Nilai dan umpan balikNilai/revisi kiriman, bersama izin data mahasiswa.
Program individual & seleksiKPI/seleksi lama, bersama izin data mahasiswa, nilai, dan bukti.
Bukti foto/lokasiBukti pengawasan; berikan hanya kepada petugas yang memerlukannya.
Akun dan izin AdminUndangan, pencabutan Admin, serta perubahan izin.
Log aktivitasCatatan tindakan Admin; dapat memuat identitas pelaku/sasaran.

Izin saat ini berlaku per fungsi pada tingkat lembaga, belum dibatasi per kelas pengajar. Jangan memberikan akses data mahasiswa kepada petugas portal saja. Perubahan izin sendiri dan penghilangan pengelola izin terakhir dibatasi server.

3. Kelola portal dan pusat pelatihan

Buka Portal → Tambah konten. Pilih profil, berita, pengumuman, agenda, galeri, FAQ, atau kontak; isi judul, slug unik, teks, serta tautan. Gunakan draft untuk draf, published untuk publik, dan archived untuk menyembunyikan tanpa menghapus. Konflik revisi dari tab lama akan ditolak; muat ulang sebelum mengubah lagi.

Unggah gambar setelah memastikan hak penggunaan dan izin orang yang ditampilkan. Isi deskripsi gambar. Jangan unggah data pribadi mahasiswa pada galeri publik tanpa izin. Logo EDUTECHNO tampil pada setiap halaman. Foto TC 1/2/3 bawaan tersedia sebagai aset versi aplikasi; mengganti foto hero bawaan masih memerlukan pembaruan kode. Jadwal belajar tetap tersedia meskipun menu publik “Jadwal” diganti menjadi “LIST JOB”.

4. Siapkan program dan kelas

  1. Di Program, isi nama, level, deskripsi, durasi, informasi biaya, dan status. Program awal dapat diaktifkan sesuai kebutuhan; harga tidak dikunci dalam kode dan tidak ada checkout otomatis.
  2. Di Kelas, pilih program, nama kelas, angkatan, pengajar, jadwal teks, dan status.
  3. Tambahkan mahasiswa terdaftar melalui email, lalu tetapkan keanggotaannya aktif.
  4. Untuk katalog lama, buat kode akses level. Untuk jadwal/KPI individual, buat enrollment program secara terpisah.

Program individual mendukung Basic 10–30 hari, N5 30–90 hari, dan N4 daring 30–60 hari. Nilai/KPI, remedial, J.TEST 500, serta pengecualian bab 1–25, kosakata, dan kanji mengikuti aturan program yang tersedia. Tidak semua aturan memiliki editor Admin; sebagian konfigurasi masih melalui kode. Periksa kebijakan sebelum memakai hasil untuk keputusan penerimaan luring.

5. Materi, tugas, nilai, dan akses

Di Materi & tugas, pilih kelas dan jenis lesson atau task. Isi teks, sumber, dasar izin penggunaan, rubrik, status wajib/tambahan, tenggat, dan status publikasi. Furigana dapat ditulis 日本{にほん}. YouTube/Drive/Docs menggunakan tautan yang didukung.

Di Penilaian, buka kiriman, beri nilai 0–100 dan komentar, atau minta revisi. Perpanjang tenggat jika remedial membutuhkan tambahan waktu. Kiriman yang telah dinilai hanya dapat dikirim kembali setelah diminta revisi. Gunakan nonaktif/pulihkan akun untuk tindakan yang dapat dibatalkan; jangan menghapus akun untuk sekadar menghentikan akses.

6. LIST JOB dan peserta diterima

  1. Buka menu LIST JOB pada panel. Isi perusahaan, bidang, prefektur, kuota, jadwal/informasi rekrutmen, catatan, serta status. Kota tidak ditampilkan.
  2. Pilih status tersedia, penuh, atau rekrutmen selesai; status publikasi draf/publik/arsip tetap terpisah.
  3. Tinjau tanggal dan kuota sebelum menerbitkan. Impor awal berisi 90 entri dari dokumen 29 Oktober 2026, bukan pembaruan otomatis.
  4. Untuk peserta diterima, tambahkan data pada job terkait. Isi nama publik dan dasar persetujuan sebelum mencentang publikasi. Tanpa persetujuan dan status publik, nama tidak ditampilkan ke pengunjung.
  5. Gunakan arsip/pulihkan untuk menyembunyikan dan mengembalikan entri. Perubahan tercatat dalam log.

Jumlah kandidat pada sumber tidak sama dengan jumlah peserta yang telah direkrut. Sistem tidak mengarang nama peserta; data tersebut diisi petugas berdasarkan bukti dan persetujuan.

TRAINING CENTER

Kenali profesi tujuanmu

Di bawah foto TC 1–3, sentuh ikon anime untuk membuka pengenalan profesinya. Lencana マミ・アドリア tampil pada Kaigo dan Asisten Chef; パピ・イマン tampil pada delapan profesi lain. Buka LIST JOB untuk melihat informasi rekrutmen. Pada bagian Hubungi Team EDUTECHNO, pilih WhatsApp 1, 2, atau 3 untuk membuka chat ke nomor yang tertera.

Tombol Meteor hijau menyalakan atau mematikan animasi. Animasi mengikuti pengaturan pengurangan gerakan perangkat dan berhenti saat galeri tidak terlihat atau tab ditinggalkan.

Tracking Mahasiswa

Buka LMS → Tracking Mahasiswa untuk melihat perjalanan dari pendaftaran, pembelajaran Basic/N5, pemberkasan, hingga kontrak. Buka tracking.

Mahasiswa

Masuk memakai akun LMS. Data tampil setelah Admin mencocokkan dan menautkan akun Anda. Bila belum muncul, hubungi Admin; tidak perlu membuat akun baru. Kegiatan harian tetap melalui KPI & Alarm Harian.

Admin

  1. Aktifkan Authenticator dan pastikan izin Data & akses mahasiswa tersedia.
  2. Buka menu tracking. Snapshot awal disiapkan sekali saat pembukaan pertama; bila koneksi terputus, coba lagi.
  3. Cari mahasiswa atau gunakan filter tahap, pekerjaan, prefektur dan verifikasi. Buka Detail untuk jejak sumber dan perbedaan isian.
  4. Pilih Edit progres, isi berdasarkan bukti, lalu Simpan. Perubahan tersimpan di server. Gunakan Muat ulang pada perangkat lain.
  5. Pilih Tautkan akun LMS dan cocokkan nama/email mahasiswa. Satu akun hanya dapat ditautkan ke satu rekaman.

Persentase kosong berarti belum dinilai. Jadwal terbang belum membuktikan keberangkatan. Ekspor JSON untuk cadangan; impor hanya menambah ID baru dan tidak menimpa atau menghapus data yang ada. File sumber tidak tersinkron otomatis. Paket sumber publik tidak menyertakan data mahasiswa.

EDUTECHNO 1.8.12 — Hostinger

Tujuan: https://serbaindo.sch.id · Indonesia · 3 November 2026.

Paket Hostinger ini menjalankan server Node.js 24 dan mesin SQLite bawaan Node.
Ia tidak menjalankan emulator Wrangler dan tidak memerlukan Cloudflare, D1, R2,
atau akun MySQL untuk instalasi ini. SQLite adalah database berkas privat milik
aplikasi, bukan layanan database yang dikelola menu MySQL hPanel. Dukungan dan
persistensinya harus diverifikasi di server tujuan sebelum domain dialihkan.

Pengaturan pemasangan

- Gunakan menu Aplikasi Web Node.js / Upload file di hPanel, bukan ekstrak ke public_html.
- Node.js: 24 (minimal 24.22.1).
- Package manager: npm. Runtime tidak memiliki dependency npm tambahan.
- Build command: `npm run build`.
- Start command: `npm start`.
- Entry file: `server.mjs`.
- Public/output directory untuk aset: `public`.
- NODE_ENV: `production`.
- ALLOWED_ORIGINS: `https://serbaindo.sch.id,https://www.serbaindo.sch.id`.
- PORT ditetapkan Hostinger; jangan menulis port publik sendiri.
- APP_DATA_DIR opsional: folder absolut privat yang tetap tersedia sesudah redeploy.
Default: direktori home akun hosting + `/edutechno-data/serbaindo-sch-id`.
Dilarang menunjuk public_html, hbuilds, /tmp atau folder aplikasi hasil deploy.

Server membuat migrasi 0000–0012 secara berurutan. Migrasi yang sudah dijalankan
memiliki checksum; berkas lama yang berubah ditolak. Upgrade tidak mengosongkan
database. Kunci keamanan dibuat acak sekali saat instalasi baru, disimpan dengan
izin 0600 dalam `security.json` di folder data privat dan digunakan lagi saat restart.
Jangan memindahkan folder data atau menghapus security.json saat update.

Akun Admin pertama

Buka `/web/`, pilih Masuk lalu Aktivasi Admin pertama. Pemilik hosting mengambil
EDU_ADMIN_KEY dari security.json melalui akses berkas privat hPanel, lalu mengisi
nama, email, kata sandi baru (minimal 12 karakter) dan kunci aktivasi langsung di
formulir. Jangan mengirim kata sandi, kunci atau OTP ke chat. Aktifkan Authenticator
di Profil → Keamanan dan simpan kode pemulihan pribadi. Setelah aktif, Admin dapat
mengundang Admin lain dengan izin kerja yang dipilih. Hanya ada Admin dan Mahasiswa.
Aktivasi pertama ditutup secara atomik setelah digunakan. Jangan memasang kata
sandi default atau membagikan akun Admin bersama.

Data pada instalasi baru

Instalasi ini terpisah dari situs ChatGPT yang lama. Paket sumber tidak membawa
akun, kata sandi, nilai, foto pengawasan, atau 1.252 data mahasiswa privat. Data
lama tidak otomatis pindah hanya karena domain berubah. Tracking dapat diimpor
melalui Admin setelah memeriksa sumber, konflik, dan izin. Migrasi akun/database
lama memerlukan ekspor privat dan pemindahan kunci keamanan yang sesuai; jangan
mencampur database lama dengan security.json instalasi baru. APK lama tetap 1.4.0
beralamat ke server sebelumnya dan belum dibangun ulang untuk domain ini.

Pengoperasian mahasiswa dan Admin

Mahasiswa mendaftar melalui `/web/`. Admin menetapkan kelas, akses level dan program.
Untuk Basic/N5, Admin membuat angkatan, enrollment, waktu ibadah/renungan sesuai
tanggal dan lokasi, retensi bukti serta durasi istirahat, lalu mengaktifkan jadwal.
Mahasiswa membuka KPI & Alarm, mengaktifkan suara lewat tombol dan memberikan izin
notifikasi bila diinginkan. Alarm web berjalan ketika browser aktif; untuk browser
tertutup, impor kalender 7 hari ke aplikasi kalender perangkat. Ini bukan push
server dan bukan jaminan alarm pada HP yang mematikan aplikasi.

Tracking: Admin berizin data mahasiswa dapat mencari, mengedit tahap dan progres,
mengimpor JSON tambahan, dan menautkan catatan ke akun setelah verifikasi identitas.
Mahasiswa hanya melihat catatan yang ditautkan. Tidak ada pencocokan nama otomatis.
CMS portal, kelas, materi, tugas, penilaian dan job tersedia sesuai izin kerja Admin.
Nama peserta job hanya ditampilkan jika ada persetujuan publikasi. Penempatan publik
menggunakan prefektur. Verifikasi ketersediaan job sebelum dipublikasikan.

Penyimpanan, backup dan update

Database `edutechno.sqlite` menyimpan data aplikasi dan objek foto privat. Unggahan
kecil disimpan dalam tabel privat; tidak ada folder foto yang dapat diakses publik.
Akses gambar publik hanya melalui endpoint yang memeriksa status publikasi CMS.
WAL dan transaksi atomik mempertahankan perilaku SQL aplikasi sebelumnya.

Pada trafik aktif, server menjalankan retensi paling sering sekali per jam dan
membuat satu snapshot database per hari; menyimpan 7 snapshot terakhir di `backups/`.
Ini cadangan lokal, bukan cadangan di lokasi terpisah. Jika tidak ada trafik, tugas
baru berjalan pada kunjungan berikutnya. Salin snapshot beserta security.json ke
penyimpanan cadangan privat terpisah. Pastikan paket backup Hostinger benar-benar
mencakup direktori data di luar folder domain; jangan mengasumsikannya.

Untuk restore: hentikan aplikasi; simpan salinan kondisi terkini; pulihkan snapshot
database yang dipilih sebagai edutechno.sqlite dan security.json dari instalasi yang
sama; singkirkan WAL/SHM lama hanya setelah proses berhenti; mulai ulang; uji login,
MFA, gambar dan hak akses. Jangan melakukan restore sambil server berjalan.

Untuk update: backup, upload paket baru via Redeploy, pertahankan APP_DATA_DIR dan
security.json, periksa ready dan bandingkan installedAt sebelum/sesudah deployment.
Jangan mengedit berkas aplikasi langsung di hbuilds/public_html karena ditimpa deploy.
Sebelum pemakaian massal, lakukan uji beban dan latihan pemulihan; tidak ada klaim
kapasitas ribuan pengguna serentak berdasarkan pengujian lokal ini.

Pemeriksaan setelah pemasangan

- `/portal/`, `/web/`, `/jobs/`, `/campus/`, `/tracking/` harus tampil.
- `/api/edu/health` dan `/api/edu/ready` harus memberikan ok=true.
- `/api/edu/hosting` menunjukkan runtime, jumlah migrasi dan installedAt tanpa kredensial.
- `/api/edu/admin/team` tanpa login harus ditolak 401.
- `/security.json`, `/server.mjs`, `/edutechno.sqlite`, `/.env` harus 404.
- Restart/redeploy tidak boleh mengganti installedAt atau menghilangkan akun/data.
- Uji login Admin + MFA, akun Mahasiswa, hak akses level, upload dan tampilan HP.
- Pastikan SSL dan domain benar sebelum mengumumkan situs live.

Batas yang tetap berlaku

Belum ada verifikasi/reset password melalui email, pengujian HP fisik 1 GB, audit
keamanan independen, server push saat browser ditutup, atau APK baru. Bank latihan
bukan bank ujian rahasia untuk seleksi berisiko tinggi. Cadangan dan domain live
hanya boleh dinyatakan berhasil setelah diverifikasi pada server tujuan.

Rujukan resmi pemasangan:
https://www.hostinger.com/support/how-to-deploy-a-nodejs-website-in-hostinger/
https://www.hostinger.com/support/how-to-add-environment-variables-during-node-js-application-deployment/
https://nodejs.org/download/release/latest-v24.x/docs/api/sqlite.html