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