🌟長期休暇中にタスク管理アプリを作ってみた🌟
はじめに
年末年始に何か1つでもWEBアプリケーションを作ることを目標に、タスク管理アプリを作りました。この記事では、その制作過程で感じたことや学びについてシェアします。
実際には下記URLから試せますが、バグだらけとなっています🤔

🚀 使用した技術
🛠️ Laravel
普段業務で使っているフレームワークということもあり、学習コストを抑えるためにLaravelを選びました。目標は「とにかく完成させること」だったため、技術選定もなるべく負担が少ないものにしました。
🌐 サーバー環境
サーバーについても新しい環境を学ぶのではなく、普段から使用しているXserverをそのまま利用しました。これにより環境構築にかかる時間を短縮し、アプリ開発に集中できました。
📦 Laravel Inertia
今回の開発では、勉強がてらLaravelのInertiaを使用しました。Inertiaを使うことで、ReactとLaravelの連携がスムーズになり、シンプルなSPAのような開発体験が得られました。
ただし、一部で違和感を覚える点もありました。例えば、API的な感覚でデータをstoreしようとした際、Inertiaの仕様上、必ずrenderコンテンツを返さなければならず、結果として301のステータスが返ってくる挙動に違和感がありました。
🎯 プロジェクトのコンセプト
このアプリのコンセプトとして、タスクの管理者だけがこのサイトにアクセスすることを前提にしました。理由はシンプルで、どうせタスクの作業者は新しいツールを導入しても見ないからです。
具体的な実装方法として、以下のような仕組みを導入しました:
- アカウントを作成後、ProfileよりChatworkと連携。(https://promanager.rebelion.jp/profile)
- タスクを作成する際にChatworkのルームと連携させる。
- タスクの期日が近づくと、その日の朝10時にそのルーム内でToを付けたリマインドチャットを自動で送信する。
この仕組みによって、作業者が特定のツールを使う必要がなくなり、スムーズなタスク管理が可能になりました。
💻 コードについて
目標は「完成させること」だったため、コードの美しさやベストプラクティスは二の次にしました。その結果、コードは全体的に非常に汚い状態になっています。
特に、DRY原則(Don't Repeat Yourself)に反したコードが多くなりました。共通化は一切せず、同じ処理をいろいろな場所にコピペしました。しかし、私は以下のように考えています。
💬 DRY原則に沿ったクソコードよりも、DRY原則に反して同じコードをコピペしている方が保守性が高い。
✨ そのため、今回は敢えて共通化を避け、シンプルに書くことを優先しました。
🔄 振り返りと感想
今回の開発では「完成させること」を第一に掲げたことで、一定の成果を出すことができました。一方で、Inertiaの仕様への違和感やコードの汚さなど、反省点も多く残りました。
ただ、長期休暇中に1つのアプリケーションを完成させるという目標は達成できたので、総じて満足しています。次回は、保守性やクリーンコードを意識した開発に挑戦してみたいです。
🎉 最後に
📖 この記事を読んで「とにかく完成させること」の重要性を感じてもらえたら幸いです。また、LaravelやInertiaを使った開発に興味がある方の参考になれば嬉しいです。
何か質問などあればコメントください!
✨ ぜひ皆さんも、次の休暇中に何か1つ作ってみてはいかがでしょうか?
Discussion