Overview
My MBKM merupakan sistem informasi akademik yang dikembangkan untuk mendukung implementasi program Kampus Merdeka (MBKM) di lingkungan perguruan tinggi. Program MBKM yang diluncurkan oleh Kemendikbudristek mengharuskan kampus mengelola ribuan data mahasiswa yang mengikuti kegiatan di luar kampus — mulai dari magang industri, KKN, pertukaran pelajar, hingga proyek kemanusiaan.
Sistem ini menggantikan proses manual berbasis spreadsheet yang rawan error dan tidak skalabel. Dengan My MBKM, seluruh stakeholder — mahasiswa, dosen pembimbing, koordinator prodi, hingga pimpinan fakultas — memiliki satu dashboard terpusat untuk memantau perkembangan program MBKM secara real-time.
Screenshots
Tampilan antarmuka berbagai modul dalam sistem My MBKM.
Key Features
- Multi-role authentication: Mahasiswa, Dosen Pembimbing, Koordinator MBKM, dan Admin Fakultas
- Pendaftaran kegiatan MBKM beserta dokumen pendukung (proposal, kontrak, dll)
- Monitoring progress dan logbook mingguan yang diisi mahasiswa secara berkala
- Sistem approval berjenjang — dari dosen pembimbing hingga koordinator prodi
- Konversi SKS otomatis berdasarkan jenis dan durasi kegiatan MBKM
- Export laporan rekap data mahasiswa per angkatan ke format Excel dan PDF
- Dashboard statistik program MBKM yang dapat difilter per prodi dan periode
Technical Implementation
Proyek ini dibangun menggunakan Express.js sebagai backend framework dengan pendekatan modular. ORM yang digunakan adalah Prisma, yang memberikan type-safety, auto-completion yang kuat, dan kemudahan dalam melakukan database migrations. Skema database dirancang untuk mengakomodasi hubungan kompleks antara entitas mahasiswa, kegiatan, dokumen, dan penilaian.
Seluruh aplikasi di-containerize menggunakan Docker dengan Docker Compose untuk mengelola service Express.js, MySQL, dan Nginx dalam satu konfigurasi deklaratif. Ini memastikan konsistensi environment antara development dan production, serta mempermudah proses deployment ke server VPS.
Autentikasi diimplementasikan menggunakan JWT (JSON Web Token) dengan mekanisme refresh token untuk menjaga sesi pengguna tetap aman. Middleware role-based access control (RBAC) diterapkan di level route untuk memastikan setiap role hanya dapat mengakses endpoint yang sesuai hak aksesnya.