2021/01/31追記
.Net5へ移行しました(関連記事)
作成した経緯
ぼくの職場では、月毎に作業工数を記録して提出する必要があります。
一応入力ツールがあるにはあるのですが、
- きっちり30分毎にしか入力できない(10:00~10:30まではなにしてた、とか)し、入力自体も手数が多くて手間
- UIが古きよき感じ...
- エクスポート形式が提出フォーマットと異なるので手作業が手間
などなど、いろいろ不満がありました。
最新の技術/ライブラリを使ってなにかプロダクトを作ってみたかったのと、新型コロナの影響でおうち時間が増えたのもあり、この不満を解消すべく「ぼくのかんがえた最強」の工数管理アプリを開発してみました。
プロダクト
ソースはこちら → GitHub
実際に触ってみたい方はこちらからどうぞ → ダウンロード
※Win10 64bit版のみ用意してます。それ以外の環境の場合は各自でビルドしてください。
#いくつかの入力項目はDBでのマスタ管理となっています。マスタメンテナンス用のUIは用意できていないため、DBを直接編集するかデモ用のファイルを利用ください。→デモ用DBファイル
特徴
最小の手数でタスクの入力・切り替えが可能
ボタン1発で記載・切り替えができる(詳細は使い方で
#仕事中って自分のペースで開発できるわけではなく、急に保守作業が入ったりしますよねMaterialDesignを採用
オシャレなほうがモチベーションあがりますよね提出用のフォーマットで出力可能
工数を標準化して集計したうえで必要なフォーマットに特化してCSV化。
CSVをエクセルにコピペドンで工数表を提出可能に!
使い方
基本的な考え方(流れ)は
- タスクを登録する
- 作業開始時に1で登録したタスクを開始
- 作業終了時にタスクを終了
- 1~3を繰り返す
- タスクの作業がすべて終わればタスク完了
- 1ヶ月おきに集計結果をCSV出力
となります。
タスクの新規入力
画面右下の追加ボタンから、タスクの分類、タイトル名などなど記載して登録できます。
登録したタスクは繰り返し利用できます。
ショートカットからタスク追加
あらかじめよく行う作業のテンプレートを登録しておけばボタン1発でタスクの登録+開始が可能です。
カレンダーからタスク追加(インポート)
Googleカレンダーに打ち合わせなどの予定が登録されている場合は自動で取込むことができます。
予定時刻になれば自動でタスクが開始・終了されます。
#別途設定ファイルの用意が必要になります。需要がありそうだったら解説記事書くかもです。
タスクの完了
すべての作業が終わればチェックボックスをクリックしてタスクを「完了」します。
#この時点でタスクのカードは非表示となります
工数の集計、CSV出力
開発環境
- Win10 64bit
- VisualStudio 2019 Community
- 言語:C#
- .Net Core 3.0
- プレゼンテーション層:WPF
- 永続化層:SQLite
開発期間
5月のGWくらいから開発に着手しました。
その後は週末を中心に作業しており、およそ2ヶ月で一通り動くようになりました。
まとめ
このアプリを使うようになって、速く&楽に工数管理ができるようになりました。
仕事だといろんな制約があって開発手法やライブラリを自由に選ぶことが難しいケースが多いですが、今回好きなようにできたのでとても楽しい開発ライフを送れました。後日、利用したライブラリとかDDDの話とかも記事にしたいと思ってます。
→技術解説編を記事にしました(こちら)
#WEBアプリだとオシャレなアプリの事例がたくさんあるんですが、ネイティブではなかなか少ない印象の今日このごろ。デスクトップアプリでもこんなアプリができるんだぞ~という事例の1つになればいいなぁ
編集履歴
- 2020/07/14 誤字修正。アプリの使い方について追記。
- 2020/07/19 技術解説編の記事リンクを追加
- 2021/01/31 .Net5移行&単一ファイルアプリ化の記事リンクを追加