コーチング予定管理システム
・背景/目的
プログラミングのコーチングをしている先生がスプレッドシートで生徒と授業の予定管理をしていて予定管理がしづらいとの連絡をいただき、私が得意としていたプログラミング言語のPythonのフレームワークであるdjangoを使用して開発をすることになりました。
・規模感
2人
毎週会議をしながらお客様が使う予定管理システムを作成しました。
・担当した役割
要件定義書、詳細設計書の作成からプログラミング、テスト、AWSへのデプロイまで一通り担当しました。今後お客様に使用していただき予定管理システムに改良を加えていきます。このシステムは2022年10月20日一通り完成し納品しました。今後はコーチングを行う先生に使用していただき、フィードバックを元に機能追加や修正を行い、生徒様やコーチング事業を行う運営会社の方にも使用していただける予定です。
・使用技術や開発環境等
django, HTML, JavaScript, Bootstrap 5, AWS EC2, Visual Studio Code, Ubuntu, Windows 11, Git, Github
・技術的なアプローチや工夫した点
カレンダーや予定表のUI。直感的に予定の作成や予定の削除という操作ができるようにフロントエンドにはJavascriptのフレームワークを採用しました。ドラッグアンドドロップで予定の削除ができ、カレンダーをクリックするだけで予定が作成できます。また、djangoを使用した予定管理システムはGoogleカレンダーに予定を登録するとGoogleカレンダーにも同じ予定が追加されます。
・どのような課題を、どのように解決したか
システム上でカレンダーを表示させたいという課題があったのですが、djangoにはカレンダーを扱う機能がなかった為、django/Pythonとは異なるライブラリ/プログラミング言語を使用して課題を解決しました。調査した結果、カレンダーを扱うことができるJavaScriptのライブラリがあり、それを採用することにしました。
また、予定管理システムで日時を決める際にdjangoの機能では日時を2022-10-30, 20:40と空枠の中数字をハイフンを交えてに手打ちする方法しかなくUIとして使いづらいUIになってしまうという課題がありました。日時の件はCSSやJavaScriptのライブラリを用いてボタンを1クリックすることで日時、曜日指定ができるように実装しました。
djangoだけで実現できないことに関しては他の言語のライブラリを用いて実装するようにしています。実装する際はシステムの使いやすさを追求して実装します。
・できること
AWS上でのdjango開発
Vimを使ったファイル編集
AWSを使ったWebアプリケーションのデプロイ。EC2、セキュリティグループの設定等。
Python / Django, HTML, Bootstrap 5を使用したWebアプリケーションの開発をアジャイル手法で行うこと。
ソースコードをコミットするためにGitとGitHubを使用すること。
Javascriptのフレームワークを使った画面の作成。
使いやすいUIの追求。