Skip to content

About

Um gerenciador de tarefas via linha de comando (CLI) em Python, desenvolvido como projeto prático para treino de fundamentos da linguagem, manipulação de arquivos JSON e tratamento de argumentos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

📋 Task Tracker CLI

Um gerenciador de tarefas em linha de comando (CLI) simples e eficiente desenvolvido em Python, com persistência de dados em formato JSON.

💡 Nota do Projeto: Este projeto foi desenvolvido para fins de estudo e prática, baseado na ideia e requisitos do desafio Task Tracker do roadmap.sh.


🎯 Sobre o Projeto

O Task Tracker permite gerenciar tarefas diretamente pelo terminal sem a necessidade de dependências externas. O objetivo principal do desafio foi praticar conceitos essenciais de programação como:

  • Manipulação de arquivos no sistema de arquivos local (tasks.json).
  • Leitura, escrita e serialização em formato JSON.
  • Manipulação de argumentos de linha de comando (sys.argv).
  • Manipulação de datas e horários em formato ISO (datetime).
  • Lógica de CRUD (Criar, Ler, Atualizar e Deletar tarefas).

✨ Funcionalidades

  • ➕ Adicionar tarefa: Cria uma nova tarefa com status padrão todo, identificador único (id) e data/hora de criação.
  • 📋 Listar tarefas:
    • Listagem geral de todas as tarefas cadastradas.
    • Filtragem por status específico (todo, in-progress, done, etc.).
  • ✏️ Atualizar descrição: Altera o texto descritivo de uma tarefa existente e atualiza a data/hora de modificação (updatedAt).
  • 🔄 Atualizar status: Altera o status da tarefa (por exemplo: in-progress ou done).
  • 🗑️ Excluir tarefa: Remove uma tarefa cadastrada a partir do seu identificador (id).
  • 💾 Persistência local: Salva as alterações automaticamente no arquivo tasks.json.

🛠️ Pré-requisitos

  • Python 3.x instalado na sua máquina. Não é necessária a instalação de nenhuma biblioteca externa (utiliza apenas módulos da biblioteca padrão do Python: json, os, sys, datetime).

🚀 Como Usar

1. Clonar o repositório

git clone https://github.com/euopedror/Task_Tracker.git
cd Task_Tracker

2. Executar comandos

➕ Adicionar uma nova tarefa

python task-cli.py add "Estudar Python"

Saída:

Tarefa 1 criada em 2026-09-25T16:00:00.000000

📋 Listar tarefas

Listar todas as tarefas:

python task-cli.py list

Listar tarefas filtrando por status (todo, in-progress, done):

python task-cli.py list todo
python task-cli.py list in-progress
python task-cli.py list done

✏️ Atualizar a descrição de uma tarefa

Informe o ID da tarefa e a nova descrição:

python task-cli.py update 1 "Estudar Python e Estrutura de Dados"

Saída:

Tarefa 1 atualizada com sucesso!

🔄 Alterar o status de uma tarefa

Informe o ID da tarefa e o novo status:

python task-cli.py updatestatus 1 in-progress

ou para marcar como concluída:

python task-cli.py updatestatus 1 done

Saída:

Tarefa 1 alterada com sucesso!

🗑️ Deletar uma tarefa

Informe o ID da tarefa a ser removida:

python task-cli.py delete 1

Saída:

Tarefa 1 deletada com sucesso!

📂 Estrutura dos Dados (tasks.json)

Cada tarefa é armazenada em formato JSON com as seguintes propriedades:

[
  {
    "id": 1,
    "description": "Estudar Python",
    "status": "todo",
    "createdAt": "2026-09-25T16:00:00.000000",
    "updatedAt": "2026-09-25T16:00:00.000000"
  }
]
  • id: Identificador numérico único da tarefa.
  • description: Descrição textual da tarefa.
  • status: Status atual (todo, in-progress, done).
  • createdAt: Data e hora em que a tarefa foi criada (padrão ISO 8601).
  • updatedAt: Data e hora da última modificação da tarefa.

📚 Referência

About

Um gerenciador de tarefas via linha de comando (CLI) em Python, desenvolvido como projeto prático para treino de fundamentos da linguagem, manipulação de arquivos JSON e tratamento de argumentos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages