FacultyWare adalah sistem informasi berbasis web yang dirancang khusus untuk mempermudah pengelolaan data gedung, ruangan, dan inventaris aset di lingkungan Fakultas Teknologi Informasi.
Aplikasi ini dikembangkan menggunakan Node.js (Express), EJS Template Engine, dan MySQL, serta di-deploy secara otomatis ke Railway Cloud.
- 🔒 Autentikasi & Keamanan (Role-Based Access Control)
Sistem login yang aman menggunakan hashing
bcryptdengan pembagian hak akses (Admin vs Read-Only User). - 🏢 Manajemen Gedung (CRUD) Pendataan seluruh gedung di lingkungan fakultas, pencarian cepat, dan fitur ekspor dokumen.
- 🪑 Manajemen Ruangan & Aset (CRUD) Pemantauan detail setiap ruangan beserta aset di dalamnya (kondisi barang, jumlah, dsb).
- 📄 Export Laporan Otomatis Dapat mencetak rekap data ke dalam format PDF dan DOCX (Microsoft Word).
- 🌐 REST API Support Menyediakan endpoint JSON yang terproteksi oleh sistem otentikasi sesi.
- Backend: Node.js, Express.js
- Frontend: HTML, Vanilla CSS/Tailwind (Basecoat), Vanilla JS, EJS, HTMX
- Database: MySQL
- Testing: Playwright (E2E Automated Testing)
- Deployment: Railway Cloud
Jika Anda ingin menjalankan atau mengembangkan proyek ini di komputer Anda sendiri:
-
Clone repository ini
git clone https://github.com/kugo-x/facultyware.git cd facultyware -
Install dependensi Node.js
npm install
-
Konfigurasi Lingkungan (.env) Buat file
.envdi direktori utama, lalu copy isi pengaturan dari.env.example:DB_HOST=localhost DB_USER=root DB_PASSWORD= DB_NAME=facultyware PORT=3000 SESSION_SECRET=rahasia_super_aman
-
Siapkan Database MySQL
- Pastikan MySQL (via Laragon / XAMPP / Docker) menyala.
- Buat database baru bernama
facultyware. - Import file
database/facultyware.sqlke dalam database tersebut untuk data awal.
-
Jalankan Aplikasi
npm run dev
Aplikasi akan berjalan dan dapat diakses melalui
http://localhost:3000.
Proyek ini telah menerapkan sistem pengujian E2E (End-to-End) otomatis menggunakan Playwright. Sebanyak 23 Test Cases telah ditulis untuk menguji modul utama (Auth, Gedung, Ruangan/Aset, dan Proteksi API) dengan tingkat kelulusan 100%.
Untuk menjalankan test:
npx playwright testProyek ini telah berhasil di-deploy ke produksi dan dapat diakses publik pada tautan berikut: 👉 https://ftigedung.me