Skip to content

isafrans/ToDoList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gerenciador de Tarefas em Python

Python Tkinter Flask

Demonstração Gif

Um gerenciador de tarefas completo em Python, com CLI, GUI e Web, que permite criar, listar, editar, remover e marcar tarefas como concluĂ­das.

As tarefas sĂŁo persistidas localmente usando arquivos .pkl, garantindo que seus dados nĂŁo se percam.


💡 Funcionalidades

  • Adicionar tarefas com tĂ­tulo, descrição e data de vencimento.
  • Listar tarefas com filtro opcional por status (Pendente / ConcluĂ­da).
  • Editar tarefas existentes (tĂ­tulo, descrição e data).
  • Marcar tarefas como concluĂ­das.
  • Remover tarefas.
  • Indicação automĂĄtica de tarefas atrasadas.
  • TrĂȘs interfaces:
    • CLI (Command Line Interface)
    • GUI (Tkinter)
    • Web (Flask + Bootstrap)

⚙ Tecnologias e Bibliotecas

  • Python 3.x
  • Tkinter — Interface grĂĄfica desktop
  • Flask — Aplicação web
  • Pickle — PersistĂȘncia de dados em arquivos .pkl
  • argparse — CLI (linha de comando)
  • Bootstrap 5 — Estilização da interface web

📂 Estrutura do Projeto

📁To-Do List/
│
├── main.py           # CLI: gerenciador via terminal
├── interface.py      # GUI: gerenciador via Tkinter
├── app.py            # Web: aplicação Flask
├── gerenciador.py    # Lógica de gerenciamento de tarefas
├── tarefa.py         # Classe Tarefa
├── persistencia.py   # FunçÔes de salvar/carregar tarefas (pickle)
├──📁 templates/
│   └── index.html    # Interface web
├──📁 static/
│   ├── style.css     # Estilo da aplicação web
│   └──📁 img/
│       ├── adicionarTarefa.png
│       ├── concluirTarefa.png
│       ├── editarTarefa.png
│       ├── editarTarefa2.png
│       ├── listarTarefas.png
│       ├── removerTarefa.png
│       ├── gif.gif
│       ├── tkinterInterfaceTarefa.png
│       ├── web.png
│       └── fundo.jpg # Background da aplicação web
└── tarefas.pkl       # Arquivo gerado automaticamente com as tarefas

Acessando o Projeto

VocĂȘ pode acessar o projeto ou clonĂĄ-lo pelo link abaixo:

ToDoList no GitHub

Ou, se preferir usar o terminal, rode:

git clone https://github.com/isafrans/ToDoList

🚀 Como Executar

1. CLI (Linha de Comando)

Demonstração CLI

python main.py <comando> [argumentos]

Comandos disponĂ­veis:

Adicionar tarefa

Demonstração Adicionar Tarefa

python3 main.py adicionar "Título" "Descrição" "DD/MM/AAAA"

Listar tarefas

Demonstração Listar Tarefas

python3 main.py listar

Editar tarefa

Demonstração Editar Tarefas Demonstração Editar Tarefas2

python3 main.py editar <indice> [--titulo="NOVO_TITULO"] [--descricao="NOVA_DESC"] [--data_vencimento="DD/MM/AAAA"]

Remover tarefa

Demonstração Excluir Tarefa

python main.py remover <indice>

Marcar como concluĂ­da

Demonstração Concluir Tarefa

python main.py concluir <indice>

Observação: o índice corresponde à posição da tarefa na lista (iniciando em 1).


2. GUI (Tkinter)

Demonstração Tkinter Interface

python interface.py

Campos de entrada: Título, Descrição e Data.

BotÔes: Adicionar, Editar, Concluir e Remover.

Lista com status das tarefas, incluindo indicação de tarefas atrasadas.

3. Web (Flask)

Demonstração Web

python app.py

Acesse via navegador: http://127.0.0.1:5000

Interface com:

  • FormulĂĄrio de adicionar tarefas.

  • Tabela com todas as tarefas.

  • BotĂ”es para editar (modal), concluir e remover tarefas.

  • Filtro de status (Todos, Pendente, ConcluĂ­da).


đŸ—ïž Estrutura das Classes

Tarefa

Atributos:

  • titulo — tĂ­tulo da tarefa
  • descricao — descrição da tarefa
  • data_vencimento — data de vencimento (DD/MM/AAAA)
  • status — "Pendente" ou "ConcluĂ­da"

Métodos:

  • marcar_concluida() — marca a tarefa como concluĂ­da
  • esta_vencida() — verifica se a tarefa estĂĄ atrasada
  • editar_titulo(), editar_descricao(), editar_data_vencimento() — atualizam os respectivos atributos
  • detalhes() — retorna informaçÔes completas da tarefa

GerenciadorTarefas

  • ResponsĂĄvel por adicionar, listar, editar, remover e concluir tarefas
  • Salva e carrega tarefas usando persistencia.py

đŸ’Ÿ PersistĂȘncia de Dados

  • Todas as tarefas sĂŁo salvas em tarefas.pkl usando pickle.
  • Arquivos inexistentes ou vazios iniciam uma lista de tarefas vazia automaticamente.

📝ObservaçÔes

  • Data deve ser informada no formato DD/MM/AAAA.
  • GUI desktop usa Tkinter com Treeview.
  • Web utiliza Flask e Bootstrap 5.
  • CLI permite operaçÔes rĂĄpidas via terminal.
  • Todas as interfaces compartilham a mesma lĂłgica central.

🚀 Melhorias Futuras

  • Autenticação de usuĂĄrios.
  • Ordenação e busca por tĂ­tulo ou data.
  • NotificaçÔes para tarefas atrasadas.
  • Integração com banco de dados (SQLite ou PostgreSQL).
  • Interface web mais completa com responsividade mobile.

đŸ‘©â€đŸ’» Desenvolvido por

Isabelle Caroline de Camargo Francisco
Estudante de CiĂȘncia da Computação — FIAP
Apaixonada por tecnologia e desenvolvimento Front-End 💙

About

Gerenciador de tarefas em Python 📝 com CLI, GUI (Tkinter) e Web (Flask). Adicione, edite, conclua e remova tarefas com persistĂȘncia local via .pkl. Ideal para organizar tarefas e praticar Python, Tkinter e Flask de forma prĂĄtica e visual! đŸ’»âšĄ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors