GenieSlack: ハッカソンでのチーム開発
2023年4月 - 2024年3月
趣味



チーム経験が少ない中で、SlackのメッセージをChatGPTで要約し、Esa(チームwiki)に保存するGenieSlackをハッカソンで開発しました。このプロジェクトは、情報のストックをより手軽にすることを目的とし、Webサイトで公開されています。未経験の技術にも多数挑戦し、サポーターズ 技育CAMP マンスリーハッカソン vol.2で努力賞(API活用やモブプロが評価)、技育CAMPアドバンス2023 Vol.2で企業賞(ウイングアーク1st株式会社、アイデアや利用規約などのサービスに重要な部分が評価)を受賞しました。
アーキテクチャ
ユーザーはSlackでメッセージを送信します。SlackからのイベントはEC2インスタンス上のNginxを経由し、Python製のSlackイベント用サーバで処理されます。メッセージはChatGPT(OpenAI API)によって要約され、要約された内容はEsa APIを通じてチームwiki(Esa)に保存されます。認証にはFlask製のesa OAuth用サーバが使用され、データはRDS(MySQL)に保存されます。フロントエンドのランディングページはGatsbyで開発され、GitHub PagesとGitHub Actionsを使ってデプロイされています。
技術的挑戦
- チーム経験が少ない中での開発 → 要件定義やモブプログラミングを含むチーム開発の経験を積み、調査・学習・報告能力を向上
- Esa API、OpenAI API、OAuth周り、LP構築、GitHub Actions、Docker構築など、未経験の技術への多数の挑戦 → 各技術について調査し、学習し、チームに報告することで、迅速に習得
- 複数のサービス(Slack、ChatGPT、Esa、DB)の連携とアーキテクチャ設計 → 堅牢なアーキテクチャ設計と各種API連携を実現