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

Domain Modelを共有していい感じにプロダクトを作る

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Domain Modelを共有していい感じにプロダクトを作る

PM、デザイナ、フロントエンド、バックエンドがいい感じに協業するための考え方の提案。

Avatar for TomPenguin

TomPenguin

March 07, 2023
Tweet

More Decks by TomPenguin

Other Decks in Programming

Transcript

  1. 目次 2 1. はじめに 2. コンセプト 3. しなかったこと 4. Domain

    Modelとは 5. ワイヤーフレーム/デザイン 6. デザインシステム 7. フロントエンド 8. GraphQL Schema 9. Domain Modelの進化 10. 良かったこと 11. イマイチなとこ 12. まとめ
  2. Domain Modelとは 6 DDDのアレですが、シンプルにシステムで扱う必要最小限の情報を、ビジネス 上で意味のある単位にまとめて名前をつけたものをここではDomain Modelと 読んでる。あってるかわからんごめん。 応募者 Applicant ・名前

    ・メールアドレス 採用選考 Screening ・選考ステータス ・応募日 面接 Interview ・面接次数 ・日時 こんな雰囲気のゆるいやつを FigJamに書いて共有してました
  3. ワイヤーフレーム/デザイン 7 Domain Model を OOUI のオブジェクトにほぼそのままマッピング。 Domain Model Atomic

    Design OOUI GraphQL Schema Application Design Design System & Frontend’s Components Backend & Frontend Types 参考:オブジェクト指向UIデザイン──使いやすいソフトウェアの原理 (WEB+DB PRESS plusシリーズ) https://amzn.asia/d/44G2TbJ
  4. デザインシステム 8 リリース後も継続的な機能開発が想定されていたため、Figmaでatoms, moleculesレベルのみの軽量なデザインシステムを構築した。 Domain Model Atomic Design OOUI GraphQL

    Schema Application Design Design System & Frontend’s Components Backend & Frontend Types 参考:Atomic Design https://bradfrost.com/blog/post/atomic-web-design/
  5. フロントエンド 9 Domain Model を Atomic Design の organisms レベルで対応させたコンポー

    ネントを実装する。 Domain Model Atomic Design OOUI GraphQL Schema Application Design Design System & Frontend’s Components Backend & Frontend Types
  6. GraphQL Schema と Type 10 Domain Model と GraphQL の

    Schema をほぼそのまま対応させる。 TS の型を Schema から生成し、フロントエンドとバックエンドの双方で利用。 Domain Model Atomic Design OOUI GraphQL Schema Application Design Design System & Frontend’s Components Backend & Frontend Types