Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CouponRoll - 店舗アプリを気軽に導入
Search
keigomichi
April 16, 2023
Programming
0
68
CouponRoll - 店舗アプリを気軽に導入
keigomichi
April 16, 2023
Tweet
Share
More Decks by keigomichi
See All by keigomichi
技術書典 14 戦利品紹介
keigomichi
0
39
魔法のスプレッドシートの裏側
keigomichi
0
100
はじめての個人開発で、Jetpack Compose を使った話
keigomichi
0
260
Thundercard - 名刺のようなSNSアプリ
keigomichi
0
72
QR I/O - 読み取りも、作成も。
keigomichi
0
85
Capture The Task - 写真を撮ってタスク管理
keigomichi
0
62
Other Decks in Programming
See All in Programming
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
15
9.2k
iOS開発スターターキットの作り方
akidon0000
0
230
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
5
720
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
700
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
250
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
280
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
160
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
8
540
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
340
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
41
16k
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
260
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
420
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
Code Review Best Practice
trishagee
69
19k
Mobile First: as difficult as doing things right
swwweet
223
9.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How STYLIGHT went responsive
nonsquared
100
5.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
@chnotchy @cardseditor @keigomichi CouponRoll 店舗アプリを気軽に導入 Devroll
継続的に集客したい 1. Web サイトを開設 • WordPress • Studio
継続的に集客したい 2. 割引制度 • ポイント • クーポン • スタンプカード
クーポンなどを管理できる 店舗アプリを気軽に導入したい
チャンネルを開設し動画を投稿 → YouTube 各店舗ページを開設し割引を提供 → CouponRoll
CouponRoll 消費者向け CouponRoll Studio 事業者向け 管理
CouponRoll とは どんな店でもスマホ1つで簡単に導入できる クーポン・ポイントアプリ • 店舗の宣伝 アプリ内に店舗の情報を掲載できる • 割引を提供 スマホで使える割引機能を導入できる
▶ 店とユーザーの距離を縮める
CouponRoll の機能と技術
システム構成 Kotlin ML Kit Material Design 3 Material Icons Go
MySQL GitHub Figma ユーザー 事業者
CouponRoll の開発|クライアント • Kotlin を使用して、Android に対応 • MVVM アーキテクチャを用いた保守性の高い設計 •
Jetpack Compose を導入した宣言的 UI 構築 • OkHttp を利用した API クライアント実装 • CameraX・MLKit を利用した精度の高い QR コード読み取り
• スマホさえあれば導入可能 ◦ ユーザーの QR コードを読み取り ◦ クーポンの適用・配布 CouponRoll はとっても便利
マテリアルデザインの美しいUI • Material Design 3 に対応 ◦ Dynamic Color を導入
• アイコンでわかりやすく ◦ Material Icons を利用 • ダークモード対応 ◦ システムのデフォルトテーマで表示
CouponRoll の開発|バックエンド • Go (Echo, sqlx) + MySQL • OpenAPI
を利用した API 仕様書作成 • Docker を利用した環境構築 • 中間テーブルを作成するなど、より適切な DB スキーマ設計 • セッション管理 • GitHub Issue・PR テンプレート等を活用
苦労したポイント • Material Design 3 の導入 ◦ 安定版リリース間もない androidx.compose.material3 の利用
• CameraX・ML Kit の導入 ◦ Compose での使用例が少ない • ライブラリによっては Jetpack Compose に未対応 ◦ AndroidView コンポーザブルを利用した相互運用 • バックエンド経験の少ないメンバーでの API サーバー開発・DB 設計 • BaaS・PaaS を利用しない API サーバー開発・DB 設計 • SQL クエリの N+1 問題への対応
CouponRoll のこれから • Android 版 リリース • UI の改善 ◦
時間不足でUIにこだわることができなかった • 分析機能を充実させる ◦ クーポン利用状況、売上データ
店舗アプリを気軽に導入 CouponRoll 「QRコード」は株式会社デンソーウェーブの登録商標です。 「WordPress」は非営利団体である WordPressファウンデーションの 商標または登録商標です。 @chnotchy @cardseditor @keigomichi Devroll