Pomodoro Time adalah aplikasi timer produktivitas berbasis desktop yang dibangun menggunakan Java dan JavaFX. Aplikasi ini dirancang untuk membantu pengguna mengelola waktu fokus (teknik Pomodoro) dengan antarmuka yang elegan dan cantik bergaya Anime Style, menyediakan fitur hitung mundur yang akurat, serta peringatan pop-up dan suara saat sesi fokus telah berakhir.
- JDK: Java Development Kit (JDK) 21 (atau versi yang kompatibel).
- Build Tool: Maven.
- IDE: IntelliJ IDEA, Eclipse, atau Visual Studio Code dengan ekstensi Java.
Untuk membangun proyek dan mengunduh semua dependensi yang diperlukan, buka terminal di folder proyek ini dan jalankan perintah:
./mvnw clean compileAnda bisa menjalankan aplikasi langsung melalui run button di dalam IDE (dengan mengeksekusi class Main.java), atau menggunakan perintah Maven berikut di terminal:
./mvnw javafx:run(Jika Anda menjalankannya menggunakan java -jar di masa mendatang, pastikan Anda telah mengemasnya bersama dengan dependensi JavaFX Anda menggunakan maven-shade-plugin atau jlink).
Proyek ini menggunakan arsitektur MVC (Model-View-Controller) untuk memisahkan antara logika aplikasi dengan antarmuka pengguna.
src/
├── main/
│ ├── java/
│ │ ├── module-info.java # Konfigurasi Java Modules (JPMS)
│ │ └── main/pomodorotime/
│ │ ├── Main.java # Entry point aplikasi
│ │ ├── controller/ # (Controller) Logika kendali aksi layar
│ │ │ ├── SceneController.java
│ │ │ ├── TimerController.java
│ │ │ ├── UserFormController.java
│ │ │ └── WarnAlarmController.java
│ │ └── model/ # (Model) Struktur data & state
│ │ └── TimerData.java
│ └── resources/
│ └── main/pomodorotime/
│ ├── assets/ # File statis dan styling
│ │ ├── AlarmIcon.png
│ │ ├── Ringtone.wav
│ │ └── genshin.css # Custom CSS (Genshin Theme)
│ └── view/ # (View) Desain layar FXML
│ ├── TimeScene.fxml
│ ├── UserForm.fxml
│ └── WarnAlarm.fxml
- Pengaturan Waktu Fleksibel: Memungkinkan pengguna memasukkan Jam, Menit, dan Detik secara kustom.
- Input Judul Tugas: Anda dapat memasukkan nama pekerjaan atau quote motivasi yang sedang difokuskan.
- Kontrol Waktu Penuh: Menyediakan tombol untuk Pause, Resume, dan Reset selama timer berjalan.
- Peringatan Otomatis: Munculnya layar pop-up "Time's Up!" dengan suara dering kustom ketika waktu berakhir.
- Antarmuka Tematik: Desain UI aesthetic dengan palet warna emas/gelap, drop-shadow, dan tombol bergaya klasik elegan (Genshin Impact).

