はじめに
こんにちは。東京大学大学院情報理工学系研究科修士2年の東大樹です。
8月13日から4週間、LINEヤフー株式会社の就 業型インターンに参加させていただきました。本インターンでは、ビジネスPF開発本部にジョインさせていただきました。私が配属されたチームでは LINE公式アカウントのサーバーサイドの開発を行っています。
本記事では、実際にインターン内で行った業務や感想について書いていきたいと思います。今回、メインタスクとしては社内用ツールへの機能追加に取り組み、インターン期間内で QA を行っていただいて本番環境へのリリースというとこまで行くことができました。そのほかにもいくつかサブタスクに取り組ませていただいたので、それについても紹介できたらと思っています。
LINE公式アカウントとは
LINE公式アカウント(Official Account, OA)は、LINE 上に企業や店舗がアカウントを作成し、友だち追加してくれたユーザーに対して情報を発信するサービスです。また、比較的新しい機能としてLINE公式アカウントにはメンバーシップという機能があります。これは、LINE公式アカウントがプランをいくつか設定して公開することで、ユーザーが月額のサブスク制でさまざまな特典を受け取れるというものです。メンバーシップは、次のLINE公式アカウントの管理画面(LINE Official Account Manager, OA CMS)を通じて設定されます。
私が配属されたチームは、この OA CMS を主に開発しています。LINE公式アカウントはクーポン、ショッピ ング、LINE VOOM などさまざまなファミリーサービスと連携しているため、社外(フロントエンド)に対しての API だけでなく、社内に対しての API の作成なども必要となります。このような背景から私が配属されたチームが開発するものは多岐にわたります。
メインタスク
今回メインタスクとして、メンバーシップ機能を運用しやすくするための社内ツールを開発しました。具体的には、ユーザーのメンバーシップ加入状況を確認でき、さらにユーザーのメンバーシップの課金状況を停止・再開できるようにするページを、社内ツール基盤上に作ることに取り組みました。
今回、私はフロント(Vue)とバックエンド(Kotlin)の両方を実装しました。特にバックエンドの方では、設計の部分から実装、テストまでひととおりのことを体験させてもらいました。具体的に実装した画面は以下のようになっています。ユーザーのIDや支払いのIDを用いて、メンバーシップの加入状況を見れたり、課金状況を停止・再開できるようになっています。
今回難しかったこととしては、主に決済周りの処理について理解することでした。どのタイミングで決済が行われるかや、決済が済んだ後のデータベースの更新などが複雑になっていて難しかったです。また今回直接触ってはいないのですが、決済に関して App Store / Google Play / Web決済 の場合があり、それらに対応するのが難しそうだなという印象を受けました。