Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CouponRoll - 店舗アプリを気軽に導入

CouponRoll - 店舗アプリを気軽に導入

Avatar for keigomichi

keigomichi

April 16, 2023
Tweet

More Decks by keigomichi

Other Decks in Programming

Transcript

  1. CouponRoll の開発|クライアント • Kotlin を使用して、Android に対応 • MVVM アーキテクチャを用いた保守性の高い設計 •

    Jetpack Compose を導入した宣言的 UI 構築 • OkHttp を利用した API クライアント実装 • CameraX・MLKit を利用した精度の高い QR コード読み取り
  2. マテリアルデザインの美しいUI • Material Design 3 に対応 ◦ Dynamic Color を導入

    • アイコンでわかりやすく ◦ Material Icons を利用 • ダークモード対応 ◦ システムのデフォルトテーマで表示
  3. CouponRoll の開発|バックエンド • Go (Echo, sqlx) + MySQL • OpenAPI

    を利用した API 仕様書作成 • Docker を利用した環境構築 • 中間テーブルを作成するなど、より適切な DB スキーマ設計 • セッション管理 • GitHub Issue・PR テンプレート等を活用
  4. 苦労したポイント • Material Design 3 の導入 ◦ 安定版リリース間もない androidx.compose.material3 の利用

    • CameraX・ML Kit の導入 ◦ Compose での使用例が少ない • ライブラリによっては Jetpack Compose に未対応 ◦ AndroidView コンポーザブルを利用した相互運用 • バックエンド経験の少ないメンバーでの API サーバー開発・DB 設計 • BaaS・PaaS を利用しない API サーバー開発・DB 設計 • SQL クエリの N+1 問題への対応
  5. CouponRoll のこれから • Android 版 リリース • UI の改善 ◦

    時間不足でUIにこだわることができなかった • 分析機能を充実させる ◦ クーポン利用状況、売上データ