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
69
CouponRoll - 店舗アプリを気軽に導入
keigomichi
April 16, 2023
Tweet
Share
More Decks by keigomichi
See All by keigomichi
技術書典 14 戦利品紹介
keigomichi
0
40
魔法のスプレッドシートの裏側
keigomichi
0
110
はじめての個人開発で、Jetpack Compose を使った話
keigomichi
0
260
Thundercard - 名刺のようなSNSアプリ
keigomichi
0
74
QR I/O - 読み取りも、作成も。
keigomichi
0
86
Capture The Task - 写真を撮ってタスク管理
keigomichi
0
63
Other Decks in Programming
See All in Programming
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
490
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.7k
実践AIチャットボットUI実装入門
syumai
7
2.2k
パフォーマンスチューニングで Web 技術を深掘り直す
progfay
18
4.6k
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
700
私はどうやって技術力を上げたのか
yusukebe
24
12k
AIを活用したレシート読み取り機能の開発から得られた実践知 / AI Receipt Scan Practice
rockname
2
1.2k
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
150
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
120
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
2
690
Reactをクライアントで使わない
yusukebe
7
5.6k
CSS Linter の現在地 2025年のベストプラクティスを探る
ryo_manba
10
3k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Why Our Code Smells
bkeepers
PRO
339
57k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Power of CSS Pseudo Elements
geoffreycrofte
78
6k
Six Lessons from altMBA
skipperchong
28
4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
600
Side Projects
sachag
455
43k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
We Have a Design System, Now What?
morganepeng
53
7.8k
Scaling GitHub
holman
463
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
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