Edited at
LIFULLDay 8

Todo管理をCUIでやってみたい

LIFULL新卒2年目エンジニアの@poyonexです。

本記事はLIFULL Advent Calendar2018 8日目の記事になります。


はじめに

突然ですが、皆様業務や日常生活で演るべきタスクをどのように管理していますか?

おそらくですが、何かしらのTodo管理ツールを利用されているのではないでしょうか。

TrelloやMicrosoft Todo等々、様々な管理ツールが存在し、それを活用されていることでしょう。

(私も業務ではMicrosoftのTodo管理ツールを使っています)

しかしこれらのツールには共通した問題があります。

Todoを可視化するために、素敵なデザインを持っているがゆえに、マウスを利用せねばならないということです。

皆様の手元を見てください、キーボードとマウス、結構遠いです。

タスクの情報を書き換えたりステータスを変更したりと、この遠い距離を一日に結構な回数往復します。

「これをキーボードから手を離すことなくステータスが変更できれば最高なのでは?」

というのが、この記事の発端になります。

(どうなんでしょう、僕だけかもしれません)


CUIによるTodo管理ツール

の、プロトタイプを作成しました。

かなり突貫で実装してますので、これからもりもり拡張していく予定です。

https://github.com/utayo/todo_cui

Screenshot from 2018-12-08 23-30-21.png

言語はRuby, CUIの主な機能はttyというgemを利用しています。

https://github.com/piotrmurach/tty


使い方(雑)

基本的に現在できる機能は以下のとおりです。


  • 毎日の業務をバックログへ追加

  • バックログへのタスクの追加


    • add taskを選択

    • タスク名を入力



  • バックログのタスクを完了へ移動


    • complete taskを選択

    • 完了するタスクを選択



タスク管理ツールのミニマムだと思います。

タスク名以外は方向キーとEnterキーだけで動かせます。

(ホントはj/kでカーソル移動できたりすると最高なのですが)


ttyについて

https://github.com/piotrmurach/tty

コマンドライン上の表示/操作をうまいことやってくれるGemです。

情報は↓記事を参考にさせていただきました。

https://qiita.com/OwlQiita/items/40703a2f02e73eae45d1

詳細はttyのライブラリを参照ください。

(後に実装の便利機能についてここは追記します)