3
Inlab
InLab adalah aplikasi web full-stack untuk manajemen peminjaman ruangan laboratorium di
lingkungan akademik. Dibangun dengan arsitektur monorepo menggunakan pola BFF (Backend for
Frontend), sistem ini memisahkan concern antara Next.js sebagai lapisan presentasi sekaligus API
proxy, dan Laravel sebagai REST API backend. Pola ini memastikan JWT token tersimpan di sisi
server dalam httpOnly cookie sehingga tidak dapat diakses oleh JavaScript di browser,
meningkatkan keamanan autentikasi secara signifikan.
Sistem mendukung enam peran pengguna — mahasiswa, dosen, laboran, kepala urusan, TPA, dan admin —
masing-masing dengan hak akses dan batasan operasional yang berbeda. Mahasiswa misalnya hanya
diperbolehkan melakukan peminjaman pada rentang jam tertentu, yang dapat dikonfigurasi oleh admin
per hari per ruangan melalui form multi-step yang dibangun menggunakan Formik dan Yup. Alur
peminjaman mencakup pengajuan, proses approval bertahap oleh staff, hingga penerbitan QR code
untuk peminjaman yang telah disetujui.
Di sisi frontend, aplikasi menggunakan Next.js 16 dengan App Router dan React 19, dipadukan
dengan Material UI v9 untuk komponen UI, FullCalendar untuk tampilan jadwal ketersediaan ruangan
secara interaktif, dan Recharts untuk dashboard analitik staff. Manajemen data server menggunakan
TanStack Query v5 untuk caching dan sinkronisasi state. Proyek ini juga dilengkapi dengan unit
test menggunakan Jest dan Testing Library, serta end-to-end test menggunakan Playwright.
Tech Stack
Next JsLaravelPostgreSql