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
10個以上のプロダクトを3人のメンバーでローンチしたdiniiの開発の裏側
Search
dinii_otomo
October 21, 2022
Technology
0
4.1k
10個以上のプロダクトを3人のメンバーでローンチしたdiniiの開発の裏側
Qiita Night フロントエンド 2022/10/21 開催の登壇資料となります。
dinii_otomo
October 21, 2022
Tweet
Share
More Decks by dinii_otomo
See All by dinii_otomo
スタートアップで React Native を採用してよかったこと
dinii_otomo
2
670
diniiでのHasura活用例
dinii_otomo
1
660
Other Decks in Technology
See All in Technology
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.3k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
480
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.3k
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
540
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
470
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
120
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
160
The Future of SEO: The Impact of AI on Search
badams
0
160
現場で役立つAPIデザイン
nagix
32
11k
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
120
マルチモーダル理解と生成の統合 DeepSeek Janus, etc... / Multimodal Understanding and Generation Integration
hiroga
0
370
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building an army of robots
kneath
302
45k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
YesSQL, Process and Tooling at Scale
rocio
171
14k
RailsConf 2023
tenderlove
29
1k
A designer walks into a library…
pauljervisheath
205
24k
The Language of Interfaces
destraynor
156
24k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
31
2.1k
Designing for Performance
lara
604
68k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Done Done
chrislema
182
16k
Transcript
10ݸҎ্ͷϓϩμΫτΛ3ਓͷϝϯόʔͰ ϩʔϯνͨ͠diniiͷ։ൃͷཪଆ גࣜձࣾ dinii CTO େ༑Ұथ Qiita Night 202 2
2022/10/21
ࣗݾհ • ࢯ໊ɿେ༑Ұथ (@dinii_k_otomo ) • ॴଐɿגࣜձࣾ dini i ◦
ҿ৯ళͷϞόΠϧΦʔμʔͱPOSͷձࣾͰ͢ɻ ◦ ্ཱ͔ͪ͛Β͍ͬͯ·͢ɻ ◦ ෳճͷϐϘοτΛܦͯɺϞόΠϧΦʔμʔ & POS Λ։ൃɾӡ༻͍ͯ͠·͢ɻ • ڵຯؔ৺ɿ ◦ ͳͳμΠχʔՃໍళͰϑϥΠυϙςτͱϏʔϧΛҿΜͰ͍·͢ɻ 2
ࠓ͢͜ͱ 3 • ҿ৯ͷΠϯϑϥͱͯ͠ɺଟ͘ͷϓϩμΫτΛ࠷ॳ͔Βඋ͑Δඞཁ͕͋ͬͨ ◦ ελʔτΞοϓ্ཱͪ͛ͷϦιʔε͕গͳ͍ঢ়ଶ͔ΒɺͲͷΑ͏ʹ͠ ͯͦΕΛ࣮ݱ͔ͨ͠ʁ
ελʔτΞοϓͷ্ཱͪ͛ͱٕज़ 4 ϓϩμΫτେମ͏·͍͔͘ͳ͍ Կࣦഊ͢Δɺվળ͢Δɺͦͷࢼߦճ͕উෛ → ͱʹ͔͙͘͢ʹಈ͘ͷΛ࡞Γɺͱʹ͔͘ϦϦʔε͠ɺֶͼΛಘΔճ͕ॏཁ https://blog.winnonapartners.com/what-is-a-pivot-top-10-best-tech-startup-pivots-case-study/
ελʔτΞοϓͷ্ཱͪ͛ͱٕज़ 5 • dinii Ͱɺ͕ࣗ͜Ε·Ͱॻ͍͖ͯͨίʔυɾ࡞͖ͬͯͨϓϩμΫτͷ΄ͲΜͲ͕͏ͳ͍ɻ ◦ ࠓ·Ͱ 4,5ճେ͖͘ϐϘοτ͍ͯ͠Δ 2018 2019
2020
աڈͷϐϘοτ͔Βͷֶͼ 6 • ҿ৯ళͷɺ”All in one SaaS” Λఏڙ͍ͯ͘͜͠ͱ ◦ ͭ·Γɺҿ৯ళͷӡ༻Λࢧ͑ΔશͯͷϓϩμΫτΛ࣮ɾӡ༻͢Δ͜ͱ͕Ωʔͩͬͨ
طଘͷҿ৯ళΛ ࢧ͑ΔγεςϜ ۈଵ ٤৯ใ ձܭใ ސ٬ใ ධՁ ࡏݿ … ͋ΒΏΔҿ৯ͷ σʔλΛ౷߹ ۈଵ ධՁ ࡏݿ … ٤৯ใ ձܭใ ސ٬ใ σʔλ͕அ
dinii ͷٕज़ελοΫ 7 ʮଟͷϓϩμΫτʯΛʮগਓʯͰʮߴʯ͔ͭʮ҆ఆʯʹ։ൃ͢Δઓུͱͯ͠ͷ TypeScript, React, GraphQL (Hasura) ͷҰۃूத Ϩδ
ΩΦεΫ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ ϓϦϯλ࿈ܞ ࣗಈમػ࿈ܞ ϓϦϯλ࿈ܞ LINE Mini App όοΫΤϯυ ৄͪ͘͜͠Β: https://note.com/dinii/n/n9be778bd7da3
dinii ͷٕज़ελοΫͷมભͱࣄۀن 8 ࠓ͜ͷล ࠷ॳ͜͏ͩͬͨ ͜ͷล͔Β ϓϩμΫτ૿Ճ
ࠓͷӡ༻͍ͯ͠ΔϓϩμΫτ 9 19 packages
dinii ͷϢʔβ/ΠϯλʔϑΣʔε/σʔλͷಛ 10 ϝχϡʔΛऔಘ จ จཤྺͷऔಘ ձܭ ςʔϒϧใΛऔಘ CMS ςʔϒϧใ
ϝχϡʔใ จใ Ϩδ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ …. ΠϯλʔϑΣʔε/αʔϏεΛ ར༻͢ΔϢʔβଟ͍ ফඅऀ ϗʔϧελοϑ Ωονϯελοϑ ຊ෦ࣾһ ΦϖϨʔγϣϯେମҰॹ ίΞͳσʔλ΄΅Ұॹ ձܭใ Ϣʔβ ϓϩμΫτ ΦϖϨʔγϣϯ σʔλ
dinii ͷϢʔβ/ΠϯλʔϑΣʔε/σʔλͷಛ 11 ϝχϡʔΛऔಘ จ จཤྺͷऔಘ ձܭ ςʔϒϧใΛऔಘ CMS ςʔϒϧใ
ϝχϡʔใ จใ Ϩδ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ …. ΠϯλʔϑΣʔε/αʔϏεΛ ར༻͢ΔϢʔβଟ͍ ফඅऀ ϗʔϧελοϑ Ωονϯελοϑ ຊ෦ࣾһ ΦϖϨʔγϣϯେମҰॹ ίΞͳσʔλ΄΅Ұॹ ձܭใ Ϣʔβ ϓϩμΫτ ΦϖϨʔγϣϯ σʔλ ಉ͡Α͏ͳσʔλϏδωεϩδοΫΛɺ ৭ʑͳΠϯλʔϑΣʔεͰޮతʹ࣮͍ͨ͠ (ͨ͘͠ͳΔͩΖ͏)
• ༷ʑͳΠϯλʔϑΣʔεͰϩδοΫɾݟͷ࠶ར༻ੑΛߴΊΔͨΊʹɺ͕ଟ͍ϑϩϯτΤϯυʹ༗ རͳશମͷٕज़બఆ dinii ͷϢʔβ/ΠϯλʔϑΣʔε/σʔλͷಛ 12 ϝχϡʔΛऔಘ จ จཤྺͷऔಘ ձܭ
ςʔϒϧใΛऔಘ CMS ςʔϒϧใ ϝχϡʔใ จใ Ϩδ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ …. ফඅऀ ϗʔϧελοϑ Ωονϯελοϑ ຊ෦ࣾһ ձܭใ Hasura / GraphQL όοΫΤϯυ PostgreSQL
Α͔ͬͨ͜ͱ / ͏·͍ͬͨ͘͜ͱ 13 • ։ൃऀͷٕज़తͳίϯςΩετεΠον͕࠷খʹ͑ΒΕΔ ◦ গਓͰ࠷େޮͰ։ൃʂʂ্ཱͪ͛࣌3ਓͰ12 packages Λ։ൃɾӡ༻ɻ
2020/10- 2021/04- 2021/10- 2022/04- 6ϲ݄σϓϩΠճ 477 932 1076 992 giniʢ։ൃ҆ఆʣ 0.50 0.51 0.57 0.40 ϓϩμΫτ(#packages) 12 15 15 19 ܭଌͷࢀߟ: https://qiita.com/hirokidaichi/items/ceece347f808cc9d14dd#%E6%B4%BB%E7%94%A8%E3%81%B8%E3%81%AE%E6%9C%9F%E5%BE%85 • αʔϏεॳظ͔Βଟ͘ͷϓϩμΫτͷ։ൃӡ༻Λଓ͚͍ͯΔ͕ɺ҆ఆతͳ։ൃΛҡ࣋ • ౷Ұ͞Εٕͨज़ελοΫͷͨΊɺڞ௨ϩδοΫͷ JS ϥΠϒϥϦԽ
େมͩͬͨ͜ͱ 14 • TS ϑϧελοΫਓࡐͷ࠾༻ ◦ ಛʹόοΫΤϯυʹਫ਼௨ͨ͠ํݱࡏෆத...ʂʂ • Node.js /
NestJS ͰͷϓϩμΫγϣϯόοΫΤϯυͷӡ༻ݟ ◦ ಛʹ ORM ͷऔΓѻ͍όοΫΤϯυΞʔΩςΫνϟͳͲɺख୳Γͳ෦େ͖͔ͬͨɻ • Hasura ʹΑͬͯϑϩϯτΤϯυͷ։ൃޮ͕ඇৗʹ্͕ͬͨҰํͰɺ Hasura ࣗମͷӡ༻Πϯϑϥͷ࠷దԽʹۤઓ ◦ ͪ͜Β͝ࢀর͍ͩ͘͞: https://speakerdeck.com/dinii_otomo/diniidefalsehasurahuo-yong- li?slide=10
·ͱΊ 15 • ϓϩμΫτ͕ଟ͍/ϩδοΫ͕͍ۙ͠ͱ͍͏Ϗδωεཁٻʹରͯ͠ɺٯࢉٕͨ͠ज़બఆͰΓͬͨ ◦ dinii ͷ߹ɺ͘ҿ৯υϝΠϯͰ 0→1 Λ͍ͬͯͨͷͰɺଟϓϩμΫτͷߏͱॏཁੑΛεέʔϧલʹ Ͱ͖ͨ͜ͱ͕ӡͩͬͨɻ
◦ ʮ͜͜࡞Βͳͯ͘ྑ͘ͳ͍ʁʯɺେׂͱ͙͢ʹ࡞Β͟ΔΛಘͳ͔ͬͨɻɻɻ • શϓϩμΫτͰڞ௨ͷٕज़બఆ/ΞʔΩςΫνϟͷͨΊɺνʔϜͷφϨοδγΣΞ͕ଅਐ ◦ શһϑϧελοΫԽ͍ٕ͢͠ज़ڥͰ։ൃΛଓ͚ΒΕ͍ͯΔ → αʔϏεͷॳظ͔ΒଟͷϓϩμΫτΛܧଓతʹఏڙ͠ଓ͚ΒΕ͍ͯΔ