やること自動分類アプリケーション完成!

公開まで3ヶ月かけてようやく!

2021年08月02日

5人でのWebアプリケーション開発

昨年の2月、卒論が終わった時期から「チームでなんか作ろうよ!」という話があり、大学の同期5人をかき集め、チームでアプリケーションの開発を行った。

始めた当初は、どのツールを使ってどのようなアプリを作ると良いか、右も左も分からぬ状態からみんなで協力して勉強・開発していった。

Teamsを使って資料や情報のまとめてた!

何を作ろうかブレストを行った際に、「最近、授業・研究・就活・バイトとかやること多すぎじゃない?なんとかならんか... 」というモチベーションから、やることを自動でカテゴリーに分類させる機能をつけようということになった。

フロントエンド組とバックエンド組に大きく分かれて開発を行うことにした。また、ツールとしては近年最も主流となっているDjangoを通してアプリケーションを作成していこうということになった。

AWS EC2サーバーの登場

はじめは、Djangoのローカルサーバーで動かしていたが、実際に公開するにはどうしようか... ということになり、パブリックサーバーであるsakuraサーバーやfirebaseを検討していたが、自分がハッカソンでのAWSを使った経験もあり、AWSの仮想サーバーであるEC2を導入することになった。

そのせいもあって、それまでフロントエンドを担当していたが、バックエンドのプラットフォーム構築に転向して、開発を進めていった。

今回の開発におけるバイブル!

完成!

開発も右往左往して、3ヶ月の7月末になんとかAWSのEC2にも上げて、完成した!DjangoのデータベースはPostgreSQLをチームで使用してたから、その実装手順とかにめちゃくちゃ戸惑った... SQL、もっとちゃんと勉強しなあかんわ...

実際に動作を確認して、どの人もどの端末からでも動くようになったときは、もう本当にガッツポーズ炸裂だった!ああ〜やっぱり、開発するのって楽しいようね!

最終的にはこんな感じのアーキテクチャにしました!

今回、カテゴリを自動で分類する際に、Word2Vectorという自然言語処理の深層学習を利用したのもあって、ほんとメモリーめっちゃ食ってしまった... EC2もはじめは無料枠のt2.microを使ってたんだけど、それだと1Gしか利用できなくて、結局t2.mediumの4G使えるサーバーになった。メモリー管理とかも大事なんだな〜って勉強させられたわ!

作成したアプリケーションのURL: 18.179.12.131:8000/list

作成したアプリのソースコード: github