Project Overview
LMS mahasiswa untuk STIM Budi Bakti menyediakan portal belajar mahasiswa yang menyatukan materi perkuliahan, penugasan, jadwal, dan nilai — difokuskan untuk mempermudah akses belajar dan tracking progres akademik.
Dampak & Skala Implementasi:
Implementasi meliputi komponen dashboard terstruktur (Course List, Active Assignments, Quick Links), viewer materi dengan embed video dan preview PDF, form pengumpulan tugas dengan upload berkas + progress indicator dan validasi ukuran/tipe berkas, client-side caching untuk daftar mata kuliah (SWR/axios) agar halaman tetap responsif, dan optimasi performa (code-splitting, image lazy-loading). Saya juga menerapkan aksesibilitas dasar (keyboard nav, ARIA labels), penanganan error & loading states yang jelas, serta hooks/komponen reusable untuk mempercepat iterasi fitur lanjutan.
Problem
Mahasiswa kesulitan mengakses materi terpusat, sering terlambat mengumpulkan tugas karena alur pengumpulan tidak jelas, dan tidak tersedia ringkasan tugas/jadwal yang mudah dilihat.
Goal
Menyediakan portal mahasiswa yang cepat, mudah digunakan, dan meminimalkan friction saat mengakses materi dan mengumpulkan tugas.
Solution
Membangun UI terpusat dengan komponen reusable untuk materi & tugas, mekanisme upload berkas yang andal, client-side caching untuk mengurangi request berulang, dan UX yang jelas untuk proses pengumpulan serta notifikasi status pengumpulan.
Tech Stack
- Next.js 14 — SSR/Hybrid rendering untuk performa dan SEO internal
- Ant Design — Komponen form dan table enterprise
- SWR / axios — Data fetching & client-side caching
- Bootstrap 5 — Grid responsif untuk layout cepat
Key Features
- Dashboard mahasiswa (courses, active assignments)
- Viewer materi (video embed + PDF preview)
- Assignment submission with file upload & progress
- Calendar & upcoming deadlines
Architecture
Modular components + service layer (axios) agar mudah integrasi ke backend; state minimal di client menggunakan hooks + SWR untuk konsistensi data.
