Slide 1

Slide 1 text

-*/&"1*Λ࢖ͬͯ ࣏ࣗձΛ׆ੑԽ͢Δ ஍ҬϙΠϯτ1'Λ ։ൃͨ͠࿩ ॕ߹ซʂ-*/&%$-5େձ !άϥϯϑϩϯτʲ๨೥ձʳ 2023.12.14 Sumihiro Kagawa

Slide 2

Slide 2 text

祝 LINE × Yahoo Japan 合併︕ 🎉 🎉 2

Slide 3

Slide 3 text

⾃⼰紹介

Slide 4

Slide 4 text

⾃⼰紹介 n 加川 澄廣(かがわ すみひろ) l LINE API Expert (2019.04〜) l 経歴 Ø 経理→プログラマー→アーキテクト→PM→ITコンサル →現職 l 所属 Ø 株式会社ブレイブテクノロジー - LINE Technology Partner(ミニアプリ部⾨) 2022 - 23 - LINE ミニアプリを利⽤した順番待ち関連サービスの開発・運⽤をしています - 開発部⾨統括 l 趣味 Ø 開発コンテストへの参加 Ø e-bike でゆるゆる⾛る - 時には 100km 超えの⻑距離(アワイチ、ビワイチ など)も⾛ります sumihiro3 sumihiro.kagawa 4

Slide 5

Slide 5 text

-*/&Ͱॱ൪଴ͪ NBUPDB ؾܰʹ଴ͬͯ΋Β͑Δॱ൪؅ཧαʔϏε IUUQTKVOCBONBDIJKQ

Slide 6

Slide 6 text

NBUPDB ϚτΧ ͱ͸ ൥ࡶͳड෇ۀ຿Λαϙʔτ͢Δॱ൪؅ཧαʔϏεͰ͢ɻ -*/&ϛχΞϓϦʹରԠ͠ʮඵͰൃ݊ʯΛίϯηϓτʹ࢖͍ ΍͢͞Λ௥ٻ͍ͯ͠·͢ɻ

Slide 7

Slide 7 text

͋ΒΏΔۀछۀଶ΁ରԠ IUUQTZPCPDBKQ ݺग़௨஌αʔϏε ZPCPDB

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

それでは本題です

Slide 10

Slide 10 text

今回開発したシステム n地域共通ポイント「ゆりポ」 Ø 『地域共通ポイント「ゆりポ」』は⾃治会離れ対策や地域 活動参加者のモチベーション維持のため、会員の地域活動 への興味を⾒える化して活動の輪を広げる仕組みづくりを ⽬指したシステムです。

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

開発コンテスト 「ヒーローズ・リーグ 2023」 LINE API 賞を 受賞しました︕ 🎉 🎉 12

Slide 13

Slide 13 text

https://protopedia.net/prototype/4753

Slide 14

Slide 14 text

開発の背景と⽬的

Slide 15

Slide 15 text

地元⾃治会の現状 n 新興住宅地である地元は住⺠が⼆極化している l 最近引っ越してきた児童増加地域 Ø 待機児童(保育園や学童)の増加が問題に Ø 30年ほど前、ゆりのき台ができた頃に引っ越してきた⾼齢化が進んだ地域 - 世帯の⼦どもは独⽴ずみ n 地域活動への参加が減少、⾃治会員も減少している l 若者世帯は、仕事等で集団での活動への参加が難しく、⾃治会参加の メリットを理解しないまま⼊会に⾄らない l ⾼齢化世帯は、⾼齢でなかなか活動に参加できない

Slide 16

Slide 16 text

「ゆりポ」の⽬指すところ n 地域への貢献をポイントに l 地域活動参加で地元商店や施設利⽤料に利⽤できるポイントを獲得 Ø ⾃治会活動、地域美化活動、イベント準備 など n ⾼齢世帯・若者世帯の双⽅が使える仕組み l アプリ、紙の⾃治会員証どちらでもポイントの獲得・利⽤ができる Ø アプリを使えば家族それぞれで利⽤できる Ø アプリに慣れていない世帯は紙の会員証でも利⽤可 n 活動履歴から会員の興味分野を⾒える化 l 「ポイント」の獲得・利⽤だけのツールではない Ø 活動を通じて輪を作り、より良い活動ができる基盤(⼤きな輪)を形成するための仕組みとし たい

Slide 17

Slide 17 text

利⽤⽅法

Slide 18

Slide 18 text

アプリ利⽤開始・活動登録・ポイント利⽤はスキャンだけ n アプリ利⽤開始は配布された⾃治会員証のQRコードスキャンで OK Ø LINE(LIFF) を使っているのでログイン不要でスキャンするだけ︕ Ø アプリを利⽤しない場合は会員証を持っていればOK

Slide 19

Slide 19 text

地域活動の参加登録もスキャンだけ n 地域活動参加時にQRコードをスキャンすればポイント付与 l 活動後、⾃治会役員などが提⽰する活動QRコードをスキャンすればポイント獲得 Ø 家族の誰かが参加すれば会員(世帯)にポイントが貯まる l アプリを利⽤しない⽅は、会員証の会員QRコードを⾃治会担当者にスキャンしてもらえばOK︕

Slide 20

Slide 20 text

ポイント利⽤もスキャンだけ n 貯めたポイントを地元で使える︕ l 地元商店や⾃治会施設の利⽤料、お祭りの飲⾷などで使える l 使⽤したい時は店舗のQRコードをスキャンするだけ︕ Ø アプリを利⽤しない⽅は、会員証の会員QRコードを店舗の⽅にスキャンしてもらえばOK︕

Slide 21

Slide 21 text

店舗・⾃治会向け機能も充実 n ポイント利⽤可能店舗には管理ページで必要な機能を提供 l 会員QRコードのスキャン機能 l 商品登録や売上データダウンロード機能 n ⾃治会事務所向けにはAPIを提供 l 既存システムやスプレッドシートからAPI連携することで容易 に利⽤可 Ø 既存の会員管理システムを無理に改修しなくてもOK

Slide 22

Slide 22 text

システム構成

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

フロントエンド nLINE Front-end Framework を活⽤ l 会員とLINEとの紐づけ や、認証などに利⽤ nNuxt.js (Nuxt3) で構 築した LIFF アプリを Firebase Hosting で 公開

Slide 25

Slide 25 text

バックエンド n LINE Messaging API の利⽤ l 会員向けのお知らせ配信(各丁⽬会 員だけに配信など) l 今後は活動履歴に応じたセグメント 配信に利⽤予定 n NestJS を利⽤して API サーバー を構築 l コードから OpenAPI (Swagger) 定 義を⽣成し、フロントエンドでは API Client を⾃動⽣成することで API IFの齟齬を無くして省⼒化

Slide 26

Slide 26 text

コードからOpenAPI(Swagger)定義出⼒ Ø APIのエンドポイントとなるControllerにAPI定義を書いて出⼒すれば、フ ロントで使うAPIクライアントの⽣成とAPIドキュメントの最新化ができる HTTP POST で受け付け LIFF access token での認証処理 リクエストヘッダーに LIFF access tokenを付与 成功時のレスポンス形式定義 リクエスト形式定義 エラー時の ステータスコード定義

Slide 27

Slide 27 text

導⼊の効果

Slide 28

Slide 28 text

デジタルポイント導⼊で業務を省⼒化 n 今年のお祭り(ゆりのき台フェスティバル)から実運⽤開始 l 従来発⾏していたお祭りのクーポンを「ゆりポ」に置き換え Ø パンフレットへのクーポン印刷→会員へ⼀括付与 Ø お祭り後の集計作業が不要で正確に︕ - 夜遅くまで担当が⼿集計していたが不要となり、打ち上げに即参加できた l 参加店舗にも即時に売上データを公開可能に Ø こちらも集計不要で即時公開 l 悩まされていた偽造クーポン対策にもなった Ø 会員情報と連携しており世帯1回のみの粗品(お菓⼦詰合せ)配布も容易に

Slide 29

Slide 29 text

個⼈的に嬉しかったこと n地元の⾼校⽣が活動へ積極的に参加してくれた l ロゴやポスターなどの制作物、作品紹介動画を作成し て PR・クオリティアップに貢献

Slide 30

Slide 30 text

今後の展望

Slide 31

Slide 31 text

今後の展望 n LINE ミニアプリ化 l ポイント獲得・利⽤時のメッセージ通知 n 活動履歴に応じたセグメント配信に利⽤予定 l ナローキャストメッセージ の利⽤ Ø オーディエンスへの配信 - メッセージクリック、メッセージインプレッションを活⽤して効果あるセグメント配信を構築 n 他⾃治体への展開 l 近隣⾃治会への展開を調整中

Slide 32

Slide 32 text

最後に

Slide 33

Slide 33 text

Qiita アドベントカレンダーに「ゆりポ」の 技術スタック紹介記事を登録していますので、 そちらもご覧ください︕

Slide 34

Slide 34 text

ご清聴 ありがとうございました︕

Slide 35

Slide 35 text

SNS アカウントなど @sumihiro3 Sumihiro.Kagawa LINE API Expert 35

Slide 36

Slide 36 text

E.O.C.