ホーム » 技術 » [TasQuest]typescriptでタスク管理アプリを育ててます

[TasQuest]typescriptでタスク管理アプリを育ててます


本文中にアフィリエイトリンクが含まれる場合があります。
表示が乱れた場合は再ロードをお試しください。

タスク管理アプリって、いろいろあるけど「これだ!」ってのが見つからない。
Notionもいいけど、オフラインで使えないのがちょっと…。
というわけで、自分で作ってみました。「TasQuest」って名前のタスク管理アプリ。
TypeScriptとReactで、ゆるっと育て中です。

N-Samurai/TasQuest

タスク管理アプリの最適解がわからない

タスク管理アプリって色々ありますよね。

例えば、Things、todoist、googleやmicrosoftのtodo、Taskumaなど。「タスク」と検索するだけで無限に出てきます。色々なタスク管理アプリを触ってきたのですが、どれもしっくりきません。

こういう「作業効率化」と呼ばれるジャンルで一番注目を集めているのは「Notion」でしょうか。

なんといってもNotionはノーコードで自分だけのデータベースが作れるという驚異的な機能を持っています。

色々なYoutuberや有名人、エンジニアの方がテンプレートを配布していますよね。最近ではAIも使えるようになって、どんどん使いやすくなっている印象があります。

しかし、このNotionの気になるところは「オフラインで使えないこと」と「Linuxネイティブアプリがない」です。

私は田舎に住んでいるといってもインターネットには接続できますし、山奥にでも行かない限り現代の日本で使えない場所はないでしょう。

では、なぜオフラインにこだわるかというと、「インターネットの時間を減らしたい」からです。

悩み=つまらないのにインターネットを見てしまう

これは最近の私のブームと言ってもいいかもしれません。以前にも似たような記事を書きましたが、とにかくインターネットの時間を減らしたいです。

私はSNSもやっていないしソーシャルゲームもすべてやめたので、いわゆるスマホ中毒と言われる人達と比べれば全然使っている時間が少ないと思います。しかし、それでも時には10時間くらい見てしまうこともあるし、普通の日でも2~3時間のスクリーンタイムの日が多いです。これは、電話や検索で必要な時間も含まれているので無駄時間はもう少し少ないと考えられますが、それでも多いですよね。特に平日の時間がない日にこれだけ使っているのは、自分でも負担になっていると感じています。

それでも使ってしまうのは、最近のインターネットのアルゴリズムが優秀すぎるからだと思います。例えば好きなYoutubeを一本だけ見ようとしても、おすすめに面白そうな動画が並ぶので気になってしまい、結局30分くらいがあっという間に過ぎてしまいます。インターネットサーフィンも同様に次から次へとみてしまいますよね。

正直、見たコンテンツが面白ければいいのですが、その見ているコンテンツが軒並みつまらないのが問題です。それなのに、見てしまうという矛盾が難しいですよね。よくできていると思います。

これを断ち切るには、いっそのことインターネットを使わないレベルの処置が必要だと思います。私は自分に甘いタイプなので特に!

とにかくタスクアプリを作ってみようと思う

話がそれましたが、要するにNotionがよさげなんだけど、オフラインで使えないから自分で作ってみようと思いました。

どういう機能がいいかと考えてみると意外と難しいですよね。

とりあえず、核となる部分は

・オフラインで使える

・Linuxで動く

・タスクに階層構造を与える

ということくらいです。

本当はもっといっぱい案がありました。例えば、タスクをこなすとポイントがもらえるとか、タスクがモンスターとして表示されるとか。

↓テスト

元々Habiticaというサイトが好きで、それに似たようなソフトを作ろうかなと考えていました。ゲーミフィケーションなタスク管理アプリとして。

しかし、実際にプロトタイプとして作ってみると、非常に面白くない。ゲームとして。面白さを演習するにはレベルデザインや演出が重要だともうのですが、とにかく難しい。しっくりこないので没となりました。

初めてのTypescript・React

アプリを作るのに使用した言語はTypescriptです。

TypescriptはJavascriptに型を指定できる言語です。

Reactは Facebook(現Meta)が開発した、JavaScriptのライブラリです。Webページを部品のように組み立てて作るためのツールです。

どちらも現代のフロントエンドでの開発の主流だと思います。

私はこのWebサイトを自作しているので、軽くJavascriptには慣れていましたが、Reactは初めてだったので勉強しながら進めました。

正直、「useeffect」と「useState」でpropsに渡すくらいしか使いこなせていませんでしたが、なんとか動作するものを作ることができました。まだまだ奥が深そうです。

一応、特徴など

登録できる項目としては、

・タスク名

・親タスクのid

・締め切り日

という非常にシンプルなモノだけです。(もっといろいろあったときもあったけど、そんな便利ではなかったので消した。)

このアプリの唯一と言ってもいい特徴がこの親idの指定ができることです。(もしかしたら他のアプリでもあるかも)

指定することで階層構造を組むことができます。

編集でも変更できるので、違う階層に変更することができます。

タイムラインボタンを押すと構造に関わらず、締切順に整列しなおします。

まとめ

初めてアプリを作ってみました。

自慢できるような出来でも機能もないけど、自分で使いながら改善していこうと思います。

しない可能性もあります。

動かなかったらごめんなさい。

N-Samurai/TasQuest

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です