Executando verificação de segurança...
2

[ Pitch ] Seu To do List no terminal

Introdução:

O que começou com um simples projeto para treinar Node.js, se tornou minha ferramenta no dia a dia.

Um simples To Do list, aquele projeto que todos começam quando querem aprender uma área nova ou algo do tipo. Como eu queria mexer com Node.js a muito tempo, criei este aqui para treinar e estou tentanto refaze-lo com C++ com outra abordagem.

Com isto, terminei o do Node.js, e acabei curtindo muito o resultado e achei que seria interessante compartilhar pois pode te ajudar também. Meu primeiro projeto Node concreto!

O que tem de diferente dos outros To do List?

Bom, a ideia veio do roamap.sh, onde o projeto com o nome task-tracker me chamou atenção, dado que eu já tenho certa experiência com este tipo de projeto no front-end.

Porém, achei ele um tanto simples. Inicialmente o projeto era apenas adicionar, deletar, atualizar, adicionar descrição e adicionar status.

Com isto em mente, e a minha raiva pelo o Microsoft ToDo List (muito bugado), resolvi adaptar as minhas necessidades aos poucos, tornando parecido com o que eu precisava no Microsft ToDo List, sem usar o app bugado deles.

Features:

O projeto conta com as seguintes features:

adicionar;
deletar;
alterar status;
adicionar tipo;
atualizar nome da tarefa;
listar tarefas por status;
adicionar data de conclusão;
notificação;
copia do arquivo principal no intuito de fazer um backup;
criar listas;
deletar listas;
apagar todas as tarefas de uma lista;
marcar todas as tarefas com um status específico;
adicionar data de conclusão para todas as tarefas de uma lista;
adicionar tipos a todas as tarefas de uma lista;
help command para se guiar entre todos os comandos disponíveis;

Explicações adicionais sobre o projeto:

Ele roda diretamente no terminal e tudo que você precisa saber para usa-lo está na documentação.

OBS: É necessário ter o node instalado

Sobre o terminal, eu recomendo baixar o que tem na microsoft store, se você está no Windows: terminal. Este terminal tem um suporte melhor a emojis, e justamente por isto que eu recomendo, pois como tudo é muito preto e branco, eu utilzei emotes de forma estratégica para sinalizar algumas informações no terminal.

Outro ponto é que o projeto é beseado no conceito de listas. Então, você pode criar uma lista de estudos, casa, escola, trabalha e adicionar a cada lista específica uma tarefa respectiva.

[
  {
    daily: [
      {
        "name": "",
        "id": 4,
        "status": "todo",
        "createdAt": "[MM][DD][YYYY]",
        "updateAt": "[MM][DD][YYYY]",
        "type": "",
        "finishAt": "",
        "streak": 0
      }
    ],
    study: [],
    entreteiment: [],
    revision: [],
  }
]

Este é o esqueleto do arquivo. Quando você tentar adicionar uma tarefa, um arquivo json será criado no mesmo diretório que o script do programa está, e será criado com quatro listas padrões, que estão acima. Você pode criar mais listas e pode até apagar estas listas padrões.

Como utilizar cada comando estará descrito na documentação (link mais abaixo).

OBS: Em primeira instância, quando você tentar adicionar um tarefa, você precisa criar a lista ou utilizar as padrões, pois se a lista não exisitir, irá disparar um erro.

Exemplo de como adicionar uma tarefa na lista study para testar o programa:

    node program.cjs study add "my task"

Conclusão:

Então é isso pessoal. Um projeto simples, mas que tem sido uma mão na roda para mim mesmo. Espero que ajude vocês de alguma forma. Por favor, leia a documentação caso tenha interesse. Lá tem todas as informações sobre cada comando e como executa-los, além de um arquivo bat para facilitar no dia a dia.

Carregando publicação patrocinada...