QUO CARD Digital Innovation Lab Tech Blog

クオカード デジタルイノベーションラボの技術ブログです

QUOカードPayシステムのバックエンドで利用している技術

デジタルイノベーションラボの齋藤です。

今回はQUOカードPayシステムのバックエンドで利用している技術を紹介します。

以下のような技術/サービス/ツールを利用しています。

バックエンドの言語

決済アプリになるので出来るだけ問題を検出しやすいようにしたいと考え、まず静的型付け言語で進める方向で検討をはじめました。その時の候補はJava,Scala,Kotlin,Goです。

実際にシステムを開発する際はプログラミング言語だけでなくフレームワークも重要な要素になると思いますが、KotlinであればJavaの資産も利用でき、またJavaより冗長さが無く良いのではと考えサーバーサイドKotlinを選択しました。 Goは決済システムのバックエンドとしてはプリミティブすぎるのではないかと考え、Scalaは表現力が高いと思いますがメンバーによる差が出やすいと考え選択肢から外しました。

ちなみにGoはLambdaで使っています。

フレームワーク

リリース時はシンプルな部分のみ作っていたことやスケジュール的な都合等色々あり、Lambdaでgoを動かしていました。以下の通り現在解消されたそうですが、当時は色々課題があり、順次Fargateに移行しようとしてました。

Fargate移行後はメンバーの経験しているSpring Bootを利用していましたが、以下きしださんのスライドで説明されているように現在はコンテナの起動時間を考慮しMicronautも利用しています。

speakerdeck.com

O/R Mapperは最初はDomaを利用していましたが、今後jOOQが主流になりそうな雰囲気を感じたのでjOOQを導入しました。今後は以下のExposedがどうなるのかが気になっています。

github.com

インフラ

AWSを利用しています。Fargate上にデプロイしています。細かい部分ではgoをLambdaで動かしています。DBはAurora PostgreSQLを主に使っています。

クオカード デジタルイノベーションラボについて

クオカード デジタルイノベーションラボの齋藤です。

1年半前ぐらいからデジタルイノベーションラボのテックブログを始めようとしていましたが、とうとう初エントリをアップすることができました。

おそらくほぼ全てのソフトウェアエンジニアにクオカードという会社が認知されていないと思うので、どういう組織か、何をやってるのか等について書きたいと思います。

株式会社クオカードについて

創業30年ちょっとでQUOカードというプリペイドカードを発行したりQUOカードPayというデジタルギフトサービスを運営している会社です。2017年12月に親会社が現在のティーガイアに変わりました。金融系なので、ベンチャーマインド溢れるというよりはどちらかというと堅い会社だと思います。

QUOカードPayについて

2017年12月に親会社が変わり、デジタル版のQUOカードを立ち上げる事が決まりました。私もそのタイミングでジョインしましたが、当時サーバーサイドやアプリのソフトウェアエンジニアがおらず、採用から始める事になりました。しかしリリース時期の目標は約1年後に決まっていた為残高管理部分は外注にし、アプリや周辺部分は内製化とすることにしました。現在は徐々に内製化を進めています。

QUOカードPayは決済ではなくデジタルギフトです。バーコードでお支払いをいただく点は他のバーコード決済サービスと同じですが、利用者がご自身のクレジットカードや銀行口座と紐づけて支払いをするのではなく、主に企業の販促等で配られたものでお支払いをしていただくイメージです。 またQUOカードPayは既存のQUOカードのリプレイスではなく、使い分けになると考えています。例えば既存のQUOカードを販促で配布する場合、住所等の個人情報を受け取る必要がありました。また発送にかかる手間・コストも必要になります。そのようなケースはメールアドレスさえ受け取れば配布が可能なQUOカードPayの方が向いていると思います。逆に来店キャンペーンのようにその場で直接手渡しをするようなケースは既存のQUOカードの方が向いていると思います。

QUOカードPayは2019年3月に無事リリースでき、現在は主に機能追加や各種改善を行なっています。

デジタルイノベーションラボについて

QUOカードPayの開発やセールス、プロモーションを行う為の組織として、2017年12月に作られました。クオカードの本社は三越前ですが、デジタルイノベーションラボは京橋駅直結のWeWork東京スクエアガーデンにオフィスがあります。 デジタルイノベーションラボにプロダクトグループとマーケティンググループがあり、プロダクトグループは開発を、セールスやプロモーションはマーケティンググループが担当しています。 プロダクトグループの雰囲気はどちらかというとスタートアップやweb系企業に近いと思います。

  • 現在のプロダクトグループのメンバー

ソフトウェアエンジニア、UIデザイナー、UXデザイナー合わせて10人ちょっとです。

開発の進め方

スクラムを導入しました。現在は2週間スプリントです。まだ全てうまく行っているという状況ではないのですが、色々と試行錯誤しながら改善を進めています。できるだけクロスファンクショナルな組織になるように進めています。

採用について

エンジニア募集中です。募集職種、条件等は以下に記載しました。 https://quo-digital.jp/

隔週火曜のスクラムイベントの日以外は申請無しでリモートワークできます。技術書は買い放題です。開発マシンは基本的にメモリ32GのMacBook Proです。IntelliJを使う場合は会社で購入します。

エンジニア向けイベントは基本的に業務として参加可能です。 いくつかのイベントのスポンサーになりました。

スポンサーになったイベント

https://droidkaigi.jp/2019/en/#sponsors

https://www.tryswift.co/events/2019/tokyo/jp/

https://iosdc.jp/2019/sponsor.html

https://rubykaigi.org/2018/sponsors/

https://2019.scalamatsuri.org/index_en.html

https://kotlin.connpass.com/event/129860/

https://2020.scrumgatheringtokyo.org/