1. Introdução e Motivação

      O projeto consiste no desenvolvimento de uma aplicação Pomodoro, baseada na técnica de gerenciamento de tempo que alterna períodos de foco intenso com pausas curtas, auxiliando na produtividade e na organização das tarefas. Essa técnica é amplamente utilizada no contexto de estudos e trabalho, especialmente para manter a concentração por longos períodos.

     A escolha desse projeto se deu, primeiramente, pelo uso frequente da técnica Pomodoro no meu dia a dia. Ao utilizá-la com regularidade, senti falta de uma aplicação simples e objetiva que atendesse exatamente às minhas necessidades, sem recursos excessivos. Busquei desenvolver uma solução compacta, leve e que pudesse ser utilizada facilmente em qualquer computador.

   Além disso, o projeto também teve como motivação o incentivo à prática e ao aprimoramento no desenvolvimento de aplicações em Java, especialmente no uso do JavaFX para criação de interfaces gráficas e no controle de lógica de temporização, consolidando conhecimentos importantes para minha formação na área.

2. Tecnologias Utilizadas

Tecnologias utilizadas para a realização do projeto Pomodoro.


3. Desenvolvimento do Projeto

   O desenvolvimento do projeto Pomodoro foi realizado utilizando Java com JavaFX, com foco na criação de uma aplicação desktop leve, intuitiva e visualmente agradável. A escolha do JavaFX permitiu maior controle sobre a interface gráfica, incluindo personalizações visuais como bordas arredondadas, cores temáticas e remoção da moldura padrão da janela.
  A aplicação foi estruturada separando a interface (FXML), a lógica de controle (Controllers) e o comportamento do temporizador. Cada tela do sistema como a tela inicial, o modo de foco e o modo de pausa possui seu próprio arquivo FXML, o que facilita a organização do código e a manutenção do projeto.

  O controle do tempo foi implementado utilizando a classe **`Timeline`**, que executa ações em intervalos de um segundo para atualizar o contador regressivo do cronômetro. Esse método permitiu uma contagem precisa do tempo e uma atualização dinâmica da interface, exibindo os minutos e segundos restantes de forma clara ao usuário.

  Para o gerenciamento dos modos de funcionamento (Foco e Pausa), foi utilizado um **`enum`**, garantindo maior controle e legibilidade do código. A alternância entre os modos ocorre automaticamente ao término do tempo de foco, seguindo o funcionamento tradicional da técnica Pomodoro.

Além disso, foram implementadas funcionalidades como: