Skip to content

killmanthur/TaskPad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskPad

Aplicação desktop local de produtividade, 100% offline, em Python + CustomTkinter + SQLite. Esquema visual laranja (#E8670A) e branco.

Funcionalidades

  • Autenticação multiusuário com hash SHA-256.
  • Página principal: calendário mensal unificado com pílulas coloridas para compromissos, lembretes com data, férias e treinamentos.
  • Agenda Semanal: visão de 7 colunas, validação de conflito de horário.
  • Importantes: notas livres organizadas por categoria (auto-complete), busca textual.
  • Férias: cadastro de colaboradores, agrupamento por status (Em férias agora / Vencendo em ≤30 dias / Histórico), filtro por setor.
  • Treinamentos: agrupamento por status (Em andamento / Agendados / Concluídos recentes / Histórico).
  • Lembretes: ativos/arquivados, opcionalmente com data (aparecem no calendário).
  • Documentos: armazena dados textuais sensíveis com máscara visual •••••• e botão para revelar.
  • Campo Livre: editor de rascunhos com auto-save (debounce 2s).
  • Notificações desktop (via plyer) configuráveis por compromisso.
  • Backup: exportar / importar arquivo agenda.db pela sidebar.
  • Contexto Profissional / Pessoal com seletor global na topbar.
  • Tema claro / escuro.
  • Idioma: português-BR fixo (meses, dias, datas dd/mm/aaaa).

Localização dos dados

O banco SQLite fica em:

  • Windows: %APPDATA%\TaskPad\agenda.db
  • Outros SOs: ~/.taskpad/agenda.db

A pasta é criada automaticamente na primeira execução.

Como rodar (desenvolvimento)

pip install -r requirements.txt
python main.py

Python 3.10+ é necessário.

Esqueci minha senha

No login há o link "Esqueci minha senha". Informe o usuário, a senha mestra de administração e uma nova senha. A senha mestra padrão é q1w2e3r45t (definida em utils/auth_constants.py).

⚠ A senha mestra está hardcoded no código-fonte. Decompilação revela a constante. Para trocá-la, edite _MASTER_PLAIN em utils/auth_constants.py e recompile/redistribua.

Backup

  • Exportar: rodapé da sidebar → "⬆ Exportar backup" → escolha o destino. Arquivo é nomeado agenda_backup_AAAAMMDD.db.
  • Importar: rodapé da sidebar → "⬇ Importar backup". O arquivo passa por uma validação (precisa conter as tabelas do TaskPad). Se válido, substitui o agenda.db atual e a aplicação retorna ao login.

Empacotamento (PyInstaller)

pip install pyinstaller
pyinstaller --onefile --windowed --name TaskPad main.py

O executável fica em dist\TaskPad.exe. O banco continua sendo criado em %APPDATA%\TaskPad\agenda.db.

Estrutura

TaskPad/
├── main.py
├── requirements.txt
├── README.md
├── database/        # camada de persistência
├── modules/         # 8 telas principais
├── components/      # login, sidebar, topbar, modais, drawer
├── utils/           # paths, tema, locale, notifier, auth_constants
└── assets/          # vazia (placeholders)

Notas

  • Compromissos validam conflito de horário cruzando contextos (Profissional vs Pessoal). O usuário pode confirmar e salvar mesmo assim com um clique extra.
  • Os módulos Férias e Treinamentos são sempre Profissionais (ignoram o seletor da topbar).
  • Os valores de Documentos ficam armazenados em texto no SQLite — não há criptografia. A máscara é apenas visual.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages