目的とやったこと
rubyとActiveRecordの勉強のために、簡単なコマンドラインベースの「todo管理アプリケーション」を作成した。
開発環境詳細
言語:ruby2.5.3
DB:sqlite3
なお、当然ながらDBアクセスにActiveRecordを利用している。
動作している様子
※念のため言っておくと、Cドライブ直下で実行しているのは私のユーザ名を晒したくないからで、Qiita投稿のためだけにそうしています。
仕様概要
よくあるタスク管理アプリをコマンドラインで実現している。
CRUDを一通り実装しており、ユーザインタフェースはキーボード入力のみ。
DBはsqliteで実現しており、テーブルは一つだけ(tasksテーブル)。項目は以下の通り
id・・・タスクを一位に定めるための整数値。自動採番かつuniqueである。
name・・・タスクの名前
content・・・タスクの詳細
status・・・タスクの状態。アプリ的には未着手、着手中、完了の3つがあり、それぞれ整数値としている。
なお、updateについて、何も入力をしない場合は現状の項目のままである。(一応工夫しているアピール)
ソースコード
相変わらずのクソコードではあるが以下を参照のこと
https://github.com/gitk47320/todoapp
コマンドラインベースとはいえMVCを意識しています。データ操作、ユーザインタフェースは分離している。特にControllerなんて完全にrails意識しているし。。。
今後やっていきたいこと
・バリデーションの実装
・タスクアラート機能(遅延気味のタスクをアラートするとか)
・全体的にリファクタリングしたい。view側の実装をmodel側にもう少し持っていけないかなーとは思っている。