Universitas Negeri Gorontalo Β· Akses Terbatas untuk Dosen & Admin

Sistem Monitoring
Distraksi Belajar Mahasiswa

Platform terpadu untuk memantau pola penggunaan smartphone mahasiswa berbasis PCA & K-Means, membantu dosen pembimbing akademik mengevaluasi perilaku belajar secara real-time.

PCA

Dimensionality

Reduction

K-Means

Clustering

Algorithm

WITA

Timezone

UTC+8

Tentang Sistem

Tentang Monitor UNG

Apa masalah yang diselesaikan dan untuk siapa sistem ini dibangun.

Apa itu Monitor UNG?

Sistem berbasis web dan Android yang mengumpulkan data penggunaan smartphone mahasiswa β€” durasi layar, aplikasi yang dibuka, dan lokasi β€” lalu mengelompokkannya ke dalam klaster distraksi menggunakan algoritma PCA + K-Means.

Masalah

Distraksi smartphone saat belajar menurunkan konsentrasi dan performa akademik. Dosen pembimbing akademik sulit memantau pola penggunaan gadget ratusan mahasiswa secara manual β€” dibutuhkan otomatisasi berbasis data.

Solusi

Aplikasi mobile di perangkat mahasiswa mengumpulkan data secara otomatis (sesuai jadwal kelas). Server memproses dan mengelompokkan ke 3 klaster distraksi. Dashboard web menampilkan visualisasi real-time untuk dosen dan admin.

Arsitektur

Arsitektur Sistem

Tiga pilar teknologi yang bekerja bersama β€” backend memproses, dashboard memvisualisasikan, aplikasi mobile mengumpulkan data.

Backend Server

FastAPI Β· Python

REST API + Server-Sent Events (SSE) real-time. Pipeline machine learning PCA + K-Means untuk clustering. Autentikasi JWT dengan HttpOnly cookies. Integrasi MQTT broker untuk ingest data dari aplikasi mobile. Dijalankan sebagai service dengan auto-migration PostgreSQL/SQLite.

FastAPIPostgreSQLRedisMQTTscikit-learnJWT

Web Dashboard

Next.js Β· React

Dashboard admin dan dosen untuk monitoring real-time, konfigurasi model ML, manajemen mahasiswa, penjadwalan, laporan agregat, dan AI assistant (Groq llama-3.3-70b). Server-Sent Events untuk streaming log langsung ke UI. Role-based UI gating.

Next.jsReact 19TailwindRechartsSSE

Mobile App

Kotlin Β· Compose

Aplikasi Android yang mengumpulkan data UsageStats (screen time per aplikasi), lokasi via GPS, dan kecocokan dengan jadwal kuliah. Foreground service yang resilient terhadap swipe-kill. SQLCipher untuk database lokal terenkripsi. Auto-login + biometric gate.

KotlinComposeRoomSQLCipherWorkManagerMQTT

Alur Data

Cara Kerja Sistem

Lima tahap bagaimana data berpindah dari smartphone mahasiswa hingga muncul sebagai visualisasi di dashboard.

Step 01

Mobile Mengumpulkan Data

Aplikasi Android merekam screen time per aplikasi, unlock count, lokasi GPS, dan mencocokkan dengan jadwal kelas.

Step 02

Sync via MQTT / HTTPS

Data dikirim ke MQTT broker untuk real-time atau di-batch via HTTPS pada window sync malam (22:00–04:00 WITA).

Step 03

Server Menyimpan

FastAPI ingest log ke PostgreSQL. Pre-aggregated metrics (screen time, sosmed, game) siap untuk feature engineering ML.

Step 04

ML: PCA + K-Means

Dimensionality reduction dengan PCA, lalu clustering K-Means menghasilkan label Rendah / Sedang / Tinggi distraksi.

Step 05

Dashboard Memvisualisasikan

Dosen dan admin melihat distribusi klaster, tren screen time, danεΌ‚εΈΈ mahasiswa melalui web dashboard dengan SSE real-time.

Fitur

Fitur Unggulan

Sekilas kemampuan utama yang tersedia di sistem β€” monitoring, analisis, dan keamanan.

Real-time Monitoring

Server-Sent Events stream log langsung ke dashboard β€” tidak perlu refresh manual.

ML Clustering

PCA untuk reduksi dimensi + K-Means untuk pengelompokan otomatis.

Trend Analysis

Laporan harian, mingguan, dan bulanan dengan grafik tren screen time & distraksi.

AI Assistant

Chat dengan AI (Groq llama-3.3-70b) untuk analisis konteks klaster dan rekomendasi.

Secure Auth

JWT dengan HttpOnly cookies (XSS-safe), bcrypt hashing, role-based access control.

Offline-tolerant

Mobile app menyimpan log lokal dulu, sync saat online. Tidak ada data hilang.

Geofence Deteksi

Cek lokasi mahasiswa saat kelas β€” apakah benar berada di kampus atau di luar.

Push Notification

Reminder kelas, sinkronisasi malam, dan notifikasi foreground service Android.

Teknologi

Tech Stack

Toolkit yang dipakai di seluruh stack β€” dari backend sampai mobile.

Backend

FastAPIPython 3.14PostgreSQLSQLite (dev)RedisMQTTscikit-learnPandas

Frontend

Next.js 16React 19TypeScriptTailwind v4RechartsBase UISSE

Mobile

KotlinJetpack ComposeHiltRoomSQLCipherWorkManagerRetrofitCoroutines

ML & Data

PCAK-MeansSilhouette ScoreFeature EngineeringPre-aggregated Metrics

Security

JWT (HttpOnly cookies)bcryptslowapi rate-limitRBACBiometric

Real-time

SSEMQTTForeground ServiceReal-time clustering

Tentang Pengembang

Tim Pengembang

Orang di balik sistem Monitor UNG.

Foto profil GitHub Muhammad Hary Bayu Risky

Muhammad Hary Bayu Risky

Online

Full-stack Developer Β· Universitas Negeri Gorontalo

Pengembang utama Monitor UNG β€” backend FastAPI, dashboard Next.js, dan aplikasi Android Kotlin/Compose.

Public

Repositori

Aktif

Status

Open Source

Kontribusi

Ucapan Terima Kasih

Kontributor & Inspirator

Orang-orang yang berjasa dalam pengembangan sistem ini β€” terima kasih atas bimbingan, referensi, dan kontribusinya.

Foto profil GitHub dsshapr
@dsshapr

Memperkenalkan lingkungan Linux dari awal hingga debugging server Linux dan host networking.

Foto profil GitHub syrauff
@syrauff

Memperkenalkan environment pengembangan website dan machine learning yang jadi dasar sistem ini.

Foto profil GitHub rajdeep-3305
@rajdeep-3305

Membuat perangkat RubyX β€” devices bertenaga yang dipakai untuk development dan testing Android.

Foto profil GitHub ramdanolii14
@ramdanolii14

Membantu environment pengembangan Android apps dan menjadi tester aplikasi di berbagai skenario.

Foto profil GitHub rifqi1146
@rifqi1146

Referensi route AI chat dan fine-tuning model AI chat yang dipakai di fitur asisten sistem.

Foto profil GitHub tiann
@tiann

Membuat debugging aplikasi jauh lebih mudah lewat akses superuser (root) di perangkat Android.

Foto profil GitHub DP-Hridayan
@DP-Hridayan

Membuat Ashellyou β€” alat yang mempermudah proses debugging selama pengembangan sistem.

Kontribusi kalian sangat berarti bagi pengembangan sistem ini.