giftee Tech Blog

ギフティの開発を支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信しています。

gifteeで開発しているeStampサービスについて

こんにちは、Contents Creation Division Product Unit 1 (以下:SaaS事業部)に所属している神谷です。

SaaS事業部ではeGift Systemを主に開発していますが、eGift Systemとは別に開発しているシステムもいくつか存在します。 今回はそのうちの1つである、eStampサービスについて簡単に説明します。

今回の内容

  • eStampサービスとは?
  • 構成
  • eStampサービスのこれから

eStampサービスとは?

eStampサービスはその名前の通り、スタンプカードを電子化するサービスです。

eStampサービスはSaaSとして開発しておりますので、トップページ、ユーザ管理、スタンプ発行、スタンプ押下などのWebサービスとして必要な機能は全て標準でサポートしています。 そのため、ブランド様がeStampを導入する場合、「スタンプカードのスタンプ数」、「スタンプの台紙」、「サービス上で表示する画像/テキスト」などの簡単な情報をご連携いただくだけで導入することが可能となっております。

スタンプカードを電子化することで、eGiftと同様のメリット(紙媒体で管理することによるコストの削減、ユーザがスタンプカード紛失してしまうトラブルが減少するなど)を得られる他、一般的なスタンプカードにある「スタンプがX個たまると〇〇が貰える」という特典として、eGift Systemを利用することができるようになっております。

eStampサービスは、スタンプカードは定常的に利用するのも可能ですが、キャンペーンとして期間限定で利用することも可能となっております。 そのため、eGift Systemを導入していただいているブランド様はもちろんのこと、eGift Systemを導入していないブランド様でも期間限定でeStampサービスを利用していただけるようになっております。

導入していただいているブランド様の数は多くありませんが、某有名喫茶店のスタンプカードとしても弊社のeStampサービスを利用していただいております。

スタンプの仕組み

「スタンプカードを電子化すると言っても、どのようにスタンプを貯めるんだ?」と疑問に思われる方も多いかもしれません。

弊社では、スタンプ押下の仕組みとして、以下のような物理スタンプを利用しています。

こちらのスタンプを、スタンプカードを表示しているスマートフォンの画面に直接押下することで、スタンプを貯めることができます。

また、スタンプは1つ1つ識別することが出来ますので、実際に店舗でスタンプを押下すると、どの店舗で押下したか分かるようになっております。

構成

eStampサービスの構成については以下の通りとなっております。

  • バックエンド: Ruby on Rails
  • フロントエンド: jQuery, Bootstap
  • インフラ: AWS(EC2, RDS, CloudFront, WAF, etc...)

バックエンドとインフラについては、SaaS事業部のほとんどのシステムがこの構成となっているため、事業部内の別システムで得た知見を共有しやすくなっております。

フロントエンドはシステムによって採用しているフレームワークが異なるのですが、SaaS事業部の思想として、可能な限り幅広いユーザ(スマートフォンの端末)で利用可能であることを目指しているため、端末によって影響を受けやすいフロントエンドの部分においては、長い利用実績があるフレームワークを利用する傾向にあります。

ただ、jQuery/Bootstrampを使い続けるという考えではなく、必要に応じてフレームワークの再選定も検討しています。

というのも、やはりフロント周りでの機能を改善していく際、jQueryでも出来なくないがコストがかかることが多々あり、結果として実装を見送るケースもあったりします。

例えば、別のプロダクトで大量のデータから選択して抽出する機能を実装しようと考えたことがあったのですが、実装するにはフロント側で選択項目を保持する必要があり、それをjQueryでは実現するのは厳しいので見送ったことがありました・・・。

eStampサービスのこれから

eStampサービスは今年初めて運用開始したサービスであるため、まだまだ改善が必要な箇所が数多くあります。 時には一筋縄ではいかない内容もありますが、これからもたくさんのブランド様にご納得いただけるサービスを提供できるよう頑張っていきたいと思います。