Facultyware adalah platform manajemen fasilitas universitas. Sub-projek ini berfokus pada Modul Maintenance Ruangan (Fisik) untuk Kelompok A7. Aplikasi ini mempermudah pengguna (Dosen/Mahasiswa/Staff) untuk melaporkan kerusakan fasilitas/ruangan, serta memfasilitasi Penanggung Jawab (PJ) dan Pengelola Aset dalam memproses tiket perawatan, mengunggah bukti perbaikan, hingga mengunduh dokumen pelaporan/rekap dalam format PDF.
Aplikasi ini dibangun menggunakan arsitektur modern Node.js dengan Express dan EJS, menggunakan styling Tailwind CSS (via Basecoat), serta didukung interaksi dinamis menggunakan HTMX (tanpa memuat ulang seluruh halaman / Single Page Application-like transitions).
- Pengguna: Mengisi laporan kerusakan, pemantauan status real-time, filter status laporan, dan unduh PDF bukti laporan.
- Penanggung Jawab (PJ): Dashboard statistik, pencarian/filter laporan, memperbarui/menghapus permintaan, membuat permohonan maintenance ke Pengelola Aset, verifikasi pekerjaan Pengelola Aset (tutup/revisi), dan unduh rekap bulanan PDF.
- Pengelola Aset: Melihat daftar penugasan aktif, mengunggah bukti perbaikan, mengunduh laporan permohonan maintenance PDF, dan mengunduh laporan hasil perbaikan PDF.
- API Integration: Response riwayat maintenance format JSON dan pemrosesan update status tiket melalui endpoint API yang cepat.
Pastikan Anda sudah menginstal:
- Node.js (versi 16 atau yang lebih baru)
- MySQL Database
git clone https://github.com/accfd/facultyware.git
cd facultywareJalankan perintah berikut untuk menginstal semua dependensi package yang diperlukan:
npm installBuat file bernama .env di root direktori proyek (atau edit file .env yang sudah ada) dan sesuaikan konfigurasi database Anda:
PORT=3000
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=username_database_anda
DB_PASSWORD=password_database_anda
DB_NAME=nama_database_anda
SESSION_SECRET=fti_secret_2025
API_KEY=key_dev_2026Impor file SQL database (jika ada, e.g., dari db.sql atau file dump yang disediakan) ke dalam database MySQL Anda sesuai dengan konfigurasi DB_NAME pada file .env.
- Mode Development (dengan auto-reload):
npm run dev
- Mode Production:
npm start
Aplikasi akan berjalan di http://localhost:3000.
Untuk menjalankan pengujian fungsionalitas otomatis:
npx playwright testUntuk melihat laporan hasil testing:
npx playwright show-reportBerikut adalah daftar pembagian tugas dan tanggung jawab pengerjaan fitur pada sub-projek A7:
| No | Fitur | NIM | Nama PIC | Status |
|---|---|---|---|---|
| 1 | Pengguna dapat mengisi formulir laporan kerusakan ruangan | 2411522014 | Rafa Gian Atthari | ✅ |
| 2 | Pengguna dapat memantau status pelaporan secara real-time | 2411522014 | Rafa Gian Atthari | ✅ |
| 3 | Pengguna dapat memfilter riwayat laporan pribadi berdasarkan status | 2411522014 | Rafa Gian Atthari | ✅ |
| 4 | Pengguna dapat mengunduh bukti laporan dalam format PDF | 2411522001 | Rafa Gian Atthari | 📄 |
| 5 | Penanggung Jawab dapat memantau statistik laporan melalui dashboard | 2411522001 | Fuadi Dhiyaulhaq | ✅ |
| 6 | Penanggung Jawab dapat mencari laporan spesifik berdasarkan nama ruangan | 2411522001 | Fuadi Dhiyaulhaq | ✅ |
| 7 | Penanggung Jawab dapat menampilkan daftar riwayat permintaan maintenance (Read) | 2411522001 | Fuadi Dhiyaulhaq | ✅ |
| 8 | Penanggung Jawab dapat memperbarui data permintaan yang kurang lengkap (Update) | 2411522001 | Fuadi Dhiyaulhaq | ✅ |
| 9 | Penanggung Jawab dapat menghapus permintaan yang tidak valid atau duplikat (Delete) | 2411522001 | Fuadi Dhiyaulhaq | ✅ |
| 10 | Penanggung Jawab dapat membuat laporan permohonan maintenance kepada Pengelola Aset (Create) | 2411522001 | Fuadi Dhiyaulhaq | ✅ |
| 11 | Penanggung Jawab dapat memberi verifikasi hasil kerja Pengelola Aset untuk menutup / close permohonan atau revisi (Update) | 2411522001 | Fuadi Dhiyaulhaq | ✅ |
| 12 | Penanggung Jawab dapat mengunduh rekap laporan bulanan dalam format PDF | 2411522001 | Fuadi Dhiyaulhaq | 📄 |
| 13 | Pengelola Aset dapat melihat daftar penugasan perbaikan yang aktif | 2411522014 | Rafa Gian Atthari | ✅ |
| 14 | Pengelola Aset dapat mengunduh laporan permohonan maintenance dari Penanggung Jawab dalam format PDF | 2411522014 | Rafa Gian Atthari | 📄 |
| 15 | Pengelola Aset dapat mengunggah bukti hasil akhir perbaikan / mengupdate riwayat perbaikan (Create) | 2411522014 | Rafa Gian Atthari | ✅ |
| 16 | Pengelola Aset dapat mengunduh laporan hasil perbaikan dalam format PDF | 2411522001 | Rafa Gian Atthari | 📄 |
| 17 | Sistem dapat memberikan response data riwayat maintenance dalam format JSON (API) | 2411522014 | Rafa Gian Atthari | 🌐 |
| 18 | Sistem dapat memproses update status tiket secara cepat melalui endpoint API | 2411522014 | Fuadi Dhiyaulhaq | 🌐 |