RadTxLearn adalah website e-learning bidang radiologi dan anatomi kanker yang dirancang untuk membantu siswa/mahasiswa mempelajari materi secara terstruktur melalui pre-test, modul pembelajaran, post-test, dan evaluasi hasil belajar.
Sistem memiliki dua pengguna utama, yaitu siswa/mahasiswa dan admin/pengajar. Siswa dapat melakukan registrasi menggunakan nama, email, dan password, melakukan verifikasi email, serta menunggu persetujuan admin sebelum akun dapat digunakan. Status akun terdiri dari pending, active, dan rejected. Sistem menyediakan login, logout, kirim ulang verifikasi email, lupa password, reset password, serta pembatasan akses berdasarkan role pengguna.
Setelah login, siswa masuk ke dashboard yang menampilkan tahapan pembelajaran, status pre-test, progres modul, post-test, nilai, jumlah modul selesai, dan peningkatan hasil belajar. Tahapan yang belum memenuhi persyaratan akan terkunci secara otomatis.
Siswa wajib mengerjakan pre-test sebelum mengakses materi. Pre-test menggunakan soal pilihan ganda yang diambil dari server. Seluruh soal wajib dijawab dan sistem menyimpan jawaban, durasi, serta percobaan ujian. Pemeriksaan jawaban dan perhitungan nilai dilakukan di server.
Setelah pre-test selesai, siswa mempelajari 5 modul secara berurutan:
Sel & Anatomi Dasar
Apa Itu Kanker?
Onkogenesis
Metastasis & Penyebaran
Klasifikasi & Stadium
Setiap modul dapat berisi judul, ringkasan, estimasi waktu, materi, gambar, video, dan poin penting. Modul berikutnya hanya terbuka setelah modul sebelumnya selesai. Progres siswa disimpan ke database dan materi yang telah selesai tetap dapat dibaca kembali.
Post-test terbuka setelah pre-test dan seluruh modul selesai. Bank soal minimal terdiri dari 10 soal mudah, 10 sedang, dan 10 sulit. Soal dapat diacak oleh server dan seluruh soal wajib dijawab.
Post-test memiliki fitur pengawasan browser dengan fullscreen jika didukung. Sistem dapat mendeteksi perpindahan tab, kehilangan fokus, keluar fullscreen, shortcut tertentu, klik kanan, serta copy/cut. Setiap pelanggaran dicatat dan pada pelanggaran ketiga ujian dikirim otomatis. Data pelanggaran dan status auto-submit disimpan bersama hasil ujian.
Halaman hasil menampilkan skor dan persentase pre-test/post-test, tanggal, durasi, selisih nilai, peningkatan hasil, kategori, dan informasi pelanggaran. Setelah post-test selesai, siswa dapat melihat jawaban, jawaban benar, dan pembahasan sesuai data yang diizinkan server.
Admin/pengajar memiliki dashboard khusus untuk melihat jumlah siswa aktif, rata-rata nilai pre-test dan post-test, progres pembelajaran, penyelesaian modul, aktivitas, dan perbandingan hasil siswa. Admin dapat menyetujui/menolak pendaftaran, mengelola akun siswa, modul, materi, media, bank soal, jawaban, pembahasan, tingkat kesulitan, serta mengekspor data siswa dan nilai ke CSV. Sistem juga menyediakan audit log aktivitas.
Website mendukung Bahasa Indonesia dan Inggris, tema terang/gelap, responsive untuk desktop, tablet, dan mobile, reduced motion, validasi form, error handling, akses keyboard, serta halaman 404.
Teknologi utama menggunakan React 19, Vite 8, React Router 7, Framer Motion, Supabase Auth, PostgreSQL, Row Level Security (RLS), Supabase Storage, dan Supabase Edge Functions.
Keamanan menggunakan RLS untuk membatasi akses database. Data sensitif seperti nilai, bank soal, profil, log, dan percobaan ujian tidak boleh dapat diakses bebas. Service-role key, password database, dan token rahasia tidak boleh disimpan pada frontend atau repository. Validasi ujian dan perhitungan nilai dilakukan melalui server/Edge Function. Website produksi menggunakan HTTPS dan security headers.
Alur utama siswa:
Landing Page → Registrasi → Verifikasi Email → Persetujuan Admin → Login → Pre-Test → Modul 1-5 → Post-Test → Hasil & Pembahasan.
Halaman utama terdiri dari Landing Page, Login/Registrasi, Dashboard, Pre-Test, Daftar Modul, Detail Modul, Post-Test, Hasil, Admin Panel, dan halaman 404.
Database utama mencakup profiles, activities, app_content, assessment_attempts, serta Supabase Auth. Sistem membutuhkan koneksi internet untuk autentikasi, penyimpanan progres, ujian, dan administrasi. Materi medis digunakan untuk kepentingan edukasi dan tidak menggantikan diagnosis atau pedoman klinis profesional.