https://github.com/devbigode/reminder-system
Um sistema simples e eficiente para gerenciar lembretes com notificações sonoras, desenvolvido em Java + JavaFX.
https://github.com/devbigode/reminder-system
java javafx maven reminder-system scheduled-notifications
Last synced: about 2 months ago
JSON representation
Um sistema simples e eficiente para gerenciar lembretes com notificações sonoras, desenvolvido em Java + JavaFX.
- Host: GitHub
- URL: https://github.com/devbigode/reminder-system
- Owner: devbigode
- Created: 2025-08-20T13:57:15.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-26T14:51:38.000Z (10 months ago)
- Last Synced: 2025-08-26T20:14:32.249Z (10 months ago)
- Topics: java, javafx, maven, reminder-system, scheduled-notifications
- Language: Java
- Homepage:
- Size: 110 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🕑 Reminder System
Um sistema de **lembretes com notificações sonoras**, desenvolvido em **Java 19 + JavaFX 19**, utilizando **ScheduledExecutorService** para o agendamento de tarefas e estruturado segundo os **princípios SOLID**.
---
## Funcionalidades
- ✅ Criação de lembretes com título, descrição e horário.
- ✅ Agendamento eficiente com `ScheduledExecutorService`.
- ✅ Validação automática de configurações antes da execução.
- ✅ Notificação sonora personalizada quando o lembrete dispara.
- ✅ Interface gráfica moderna construída com **JavaFX**.
- ✅ Organização modular respeitando os princípios **SOLID**.
---
## Como usar o sistema
O sistema utiliza um arquivo de configuração para personalizar as notificações.
Basta acessar `config.properties` no diretório raiz do projeto e modificar os seguintes campos:
```properties
# Texto da notificação
title=Minha Notificação
message=Este é um lembrete automático gerado pelo sistema.
# Posição da notificação (TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT)
position=TOP_RIGHT
# Tempo em segundos que a notificação fica visível
duration=10
# Intervalo entre notificações em minutos
interval=30
# Caminho para imagem opcional (tamanho de 64px é o ideal)
image=icons/icon.png
```
---
## Tecnologias Utilizadas
- **Java 19**
- **JavaFX 19**
- **Maven**
- **ScheduledExecutorService** (agendamento de lembretes)
- **javax.sound.sampled** (áudio de notificação)