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.
- 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)
- 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
đ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 tarefasVocĂȘ pode acessar o projeto ou clonĂĄ-lo pelo link abaixo:
Ou, se preferir usar o terminal, rode:
git clone https://github.com/isafrans/ToDoListpython main.py <comando> [argumentos]python3 main.py adicionar "TĂtulo" "Descrição" "DD/MM/AAAA"python3 main.py listarpython3 main.py editar <indice> [--titulo="NOVO_TITULO"] [--descricao="NOVA_DESC"] [--data_vencimento="DD/MM/AAAA"]python main.py remover <indice>python main.py concluir <indice>Observação: o Ăndice corresponde Ă posição da tarefa na lista (iniciando em 1).
python interface.pyCampos 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.
python app.pyAcesse via navegador: http://127.0.0.1:5000
-
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).
Atributos:
tituloâ tĂtulo da tarefadescricaoâ descrição da tarefadata_vencimentoâ data de vencimento (DD/MM/AAAA)statusâ "Pendente" ou "ConcluĂda"
Métodos:
marcar_concluida()â marca a tarefa como concluĂdaesta_vencida()â verifica se a tarefa estĂĄ atrasadaeditar_titulo(),editar_descricao(),editar_data_vencimento()â atualizam os respectivos atributosdetalhes()â retorna informaçÔes completas da tarefa
- ResponsĂĄvel por adicionar, listar, editar, remover e concluir tarefas
- Salva e carrega tarefas usando
persistencia.py
- Todas as tarefas sĂŁo salvas em
tarefas.pklusando pickle. - Arquivos inexistentes ou vazios iniciam uma lista de tarefas vazia automaticamente.
- 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.
- 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.
Isabelle Caroline de Camargo Francisco
Estudante de CiĂȘncia da Computação â FIAP
Apaixonada por tecnologia e desenvolvimento Front-End đ









