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

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

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

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

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