Skip to content

hullss/pomodoro-task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pomodoro Task Manager

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.

Features

  • 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)

Tech Stack

  • Java 21
  • JavaFX 21
  • Maven
  • MySQL 8.4 (Docker)
  • Spring JDBC + HikariCP
  • JUnit 5 + Testcontainers

Project Structure

src/
  main/
    java/sk/upjs/paz/
      dao/
      entity/
      service/
      ui/
    resources/
      fxml/
      i18n/
      styles/
  test/
    java/sk/upjs/paz/

Prerequisites

  • JDK 21
  • Maven 3.9+
  • Docker + Docker Compose

Quick Start

  1. Start MySQL:
docker compose up -d
  1. Run the app:
mvn clean javafx:run
  1. Stop MySQL when finished:
docker compose down

Database Configuration

Default 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.

Running Tests

mvn test

Tests use JUnit 5 and Testcontainers (MySQL).

Entry Point

Main class:

  • sk.upjs.paz.Main

About

Pomodoro Task Manager — a JavaFX desktop app for task management and focus sessions. Implemented tasks, colored tags, session tracking, and basic statistics. Data is stored in MySQL with a JDBC DAO layer, covered by automated DAO tests using Testcontainers.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages