Aplikasi desktop berbasis JavaFX untuk mengelola keuangan kosan dengan antarmuka modern dan basis data SQLite.
Kosan-App adalah aplikasi desktop berbasis JavaFX yang dirancang untuk mempermudah pengelolaan keuangan kosan. Dengan basis data SQLite yang ringan dan antarmuka yang ramah pengguna, aplikasi ini membantu pemilik kosan mengelola penghuni, kamar, pembayaran, dan tagihan bersama secara efisien.
- 🧑 Manajemen Penghuni: Tambah, edit, atau hapus data penghuni dengan informasi seperti nama, kontak, dan peran.
- 🏠 Pengelolaan Kamar: Kelola detail kamar, termasuk harga sewa dan status ketersediaan.
- 💸 Pencatatan Pembayaran: Catat dan lacak pembayaran bulanan (lunas/tertunda) dengan riwayat transaksi.
- 📑 Tagihan Bersama: Hitung dan bagi tagihan utilitas seperti listrik, air, dan Wi-Fi antar penghuni.
- 📊 Laporan Keuangan: Hasilkan laporan bulanan untuk pemasukan, pengeluaran, dan keuntungan bersih.
- 📜 Log Aktivitas: Rekam semua aktivitas sistem untuk transparansi dan keamanan.
- 🖥️ Antarmuka Responsif: Desain modern berbasis JavaFX yang mendukung berbagai ukuran layar.
- JDK 17 atau yang lebih baru
- Maven 3.6.3 atau yang lebih baru
- SQLite (diintegrasikan via
sqlite-jdbc, tidak perlu instalasi terpisah) - Git
- Text editor (disarankan: IntelliJ IDEA atau VS Code)
git clone https://github.com/luminariadev/kosan-app.git
cd kosan-appPastikan koneksi internet aktif, lalu jalankan:
mvn clean installIni akan mengunduh dependensi seperti javafx-controls, javafx-fxml, dan sqlite-jdbc sesuai pom.xml.
Tidak diperlukan file .env karena SQLite menggunakan file lokal (kosan.db).
Pastikan file database ada di direktori proyek atau dikonfigurasi di DBUtil.java.
Jalankan:
sqlite3 kosan.db < kosan.db.sqlAtau biarkan aplikasi membuat database secara otomatis jika kode di DBUtil.java telah diatur.
mvn javafx:runGunakan kredensial default:
- Username:
admin - Password:
admin123
kosanku/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── com/mykosan/controller/
│ │ │ │ └── DashboardController.java
│ │ │ ├── com/mykosan/model/
│ │ │ │ └── (Penghuni.java, Kamar.java, dll.)
│ │ │ └── com/mykosan/util/
│ │ │ └── DBUtil.java
│ │ └── resources/
│ │ ├── fxml/
│ │ │ ├── login.fxml
│ │ │ └── user.fxml
│ │ └── css/
│ │ ├── login.css
│ │ └── user.css
├── kosan.db.sql # Skrip SQL untuk database
├── pom.xml # File konfigurasi Maven
└── README.md # Dokumentasi proyek
- Login Sederhana: Autentikasi berbasis username dan password disimpan di tabel
userspada database SQLite. - Akses Admin: Hak akses penuh untuk manajemen data.
- Keamanan: Password disimpan dalam bentuk terenkripsi (hashing disarankan untuk versi selanjutnya).
- Backend: Java 17, JavaFX
- Database: SQLite
- Frontend: JavaFX (FXML + CSS)
- Build Tool: Maven
- Driver Database:
sqlite-jdbc
Belum tersedia pengujian otomatis.
Untuk pengembangan selanjutnya, disarankan menggunakan JUnit untuk menguji logika pada controller dan utilitas.
Direktori pengujian yang disarankan:
src/test/java
- Pastikan file
kosan.db.sqldijalankan untuk membuat tabelpenghuni,kamar,pembayaran, dll. - Jaga struktur tetap rapi, hindari file duplikat di direktori proyek.
- Pertimbangkan penggunaan enkripsi untuk menyimpan kredensial.
- Kontribusi sangat dihargai. Silakan buka issue atau pull request.
- Pastikan modul JavaFX diatur di
module-info.javauntuk kompatibilitas JDK 17.
- Ekspor laporan ke PDF/Excel
- Fitur notifikasi untuk pengingat pembayaran
- Pencarian & filter penghuni dan kamar
- Autentikasi multi-user dengan JWT
Dikembangkan oleh Kelompok 2 PBO 4D untuk tugas Pemrograman Berorientasi Objek.
📧 Hubungi: rizkianuari83@gmail.com
🌟 Beri bintang ⭐ di GitHub jika kamu suka proyek ini!
Made with ❤️ for efficient boarding house management.