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

BuriKaigi2023 みんなのヨガ部 開発エピソード

Yosuke Doke
January 21, 2023

BuriKaigi2023 みんなのヨガ部 開発エピソード

BuriKaigi2023 https://burikaigi.dev/ 登壇資料

at2023/01/21 ルーム: ホタルイカ

「サービス企画とUIデザインとWebアプリ開発を全部やってみたら良かった
みんなのヨガ部 開発エピソード」

Yosuke Doke

January 21, 2023
Tweet

More Decks by Yosuke Doke

Other Decks in Design

Transcript

  1. UIデザインと開発でやったこと 他にFigmaでできないが意識したこと — コンポーネントの語彙をChakra UIに合わせるq — Border Radius(角丸)なども手入力だがChakra UIの値を利用するq —

    AutoLayoutやConstraintsの利用、ガイドコンポーネントでレイアウトを表明する。 Figmaで画面デザインとコンポーネント設計
  2. UIデザインと開発でやったこと Firebase Authorization Firestore Database GmailのSSOと電話番号の実装 Account - 登録ユーザー情報とStripeの顧客情報 Lesson

    - 曜日ごとのレッスンとプランの紐付け Schedule - レッスンに紐づく予定とZoomURL あまりユーザーごとのデータを持たない設計。 Firebase+Nextでアプリケーションを構築
  3. UIデザインと開発でやったこと Chakra UIに組み込む コンポーネント設計 ディレクトリ構造とコンポーネント種別 views/components 汎用コンポーネント views/features/* ドメインコンポーネント pages/*

    ページコンポーネント Next.jsの構成を下敷きにレイヤードアー キテクチャを意識して構造化する。 関心を集める・凝縮度を上げやすい構造
  4. UIデザインと開発でやったこと Chakra UIに組み込む テーマの設定 Figmaで決めた値をマッピングして入れる。 メインテーマを して で 流す。 メインテーマを更に拡張して管理画面用の

    テーマを用意する。 export ThemeProvider import { breakpoints } from './foundations/breakpoints' /* 中略 */ const = { breakpoints, /* 中略 */ } const = ( ) export default theme export const = ( , { /* 中略 */ }) customTheme theme customTheme adminTheme theme extendTheme extendTheme
  5. UIデザインと開発でやったこと Chakra UIに組み込む 既存コンポーネントの拡張 export const = { : {

    : { fontSize: '4xl', fontWeight: 'light', lineHeight: 10, }, : { fontSize: '3xl', fontWeight: 'normal', lineHeight: 10, }, '2xl': { Heading '4xl' '3xl' sizes テキストスタイルなどを のvariantに 割り当てていく。 Chakra UI
  6. 機能ごとの と に依存する。 各 側でユースケースを呼び出し外部から取得したデータが流し込まれる想定。 認証やナビゲーションなど一部の横断的機能も を通じて統合できる。 こちらもレイアウトの都合で などの を継承することが多い。

    内部で使う単体のUIコンポーネントは分離して 化する。 Context Props Provider Context Box/Stack Props memo UIデザインと開発でやったこと Chakra UIに組み込む ドメインコンポーネントの実装