Desktop productivity app built with JavaFX and MySQL.
It combines task management, Pomodoro sessions, tagging, and personal focus statistics in one UI.
This is a student project created in pair programming with my classmate.
- User registration and login
- Task management (create, edit, complete)
- Tag management
- Pomodoro timer with saved sessions
- Statistics dashboard
- Light and dark themes
- Localization (English and Ukrainian)
- Java 21
- JavaFX 21
- Maven
- MySQL 8.4 (Docker)
- Spring JDBC + HikariCP
- JUnit 5 + Testcontainers
src/
main/
java/sk/upjs/paz/
dao/
entity/
service/
ui/
resources/
fxml/
i18n/
styles/
test/
java/sk/upjs/paz/
- JDK 21
- Maven 3.9+
- Docker + Docker Compose
- Start MySQL:
docker compose up -d- Run the app:
mvn clean javafx:run- Stop MySQL when finished:
docker compose downDefault local DB connection:
- URL:
jdbc:mysql://localhost:3307/mydb?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC - User:
app - Password:
app
MySQL container settings are defined in docker-compose.yml.
Initialization SQL is in docker/init/database.sql.
mvn testTests use JUnit 5 and Testcontainers (MySQL).
Main class:
sk.upjs.paz.Main