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
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
Search
Yutorin
January 19, 2023
Programming
0
510
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
https://hasura-tokyo.connpass.com/event/268144/
で発表したものです。
Yutorin
January 19, 2023
Tweet
Share
More Decks by Yutorin
See All by Yutorin
読みやすいコードを書こう
yutorin
0
820
Other Decks in Programming
See All in Programming
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
Rethinking UI building strategies @ SFI 2024
letelete
0
270
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
190
GitHub Copilotのススメ
marcy731
1
200
Ruby Function Composition
bkuhlmann
1
330
What We Can Learn From OSS
inouehi
0
420
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
210
Goのmultiple errorsについて (2024年4月版)
syumai
4
930
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
Polars入門
daikikatsuragawa
1
100
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
1
110
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
380
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
175
21k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Ruby is Unlike a Banana
tanoku
96
10k
Designing for Performance
lara
601
67k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Product Roadmaps are Hard
iamctodd
44
9.7k
Transcript
2023/01/19 Development Division / Lead Engineer Seiya Ishikawa (@yutorinD) 新卒でサービス立ち上げから
Hasuraを使って3年経った振り返り Hasura User Group Tokyo Meetup #2
2 - WASD Inc. Lead Engineer - 創業と同時に最初のエンジニアとして新卒でジョインした - 趣味:
PCゲーム、ピアノ、ウイスキー、甘いもの - 中2の頃にPC自作してから洋ゲーばかりやってます - 初めての登壇です 自己紹介 Seiya Ishikawa ( Yutorin : @yutorinD )
3 Hasuraのすごい使い方の話とかは 話しません 話さないこと
4 自分語りします 話すこと
5 もくじ • Hasura is 何 • 弊社・サービスの紹介 • 運用について
• 開発の歴史 • Hasuraのよさみ • 苦労していること
6 - Hasura GraphQL Engineのこと - DBからGraphQL APIを自動生成してくれるGraphQLサーバー - フロントエンドから色々データを扱える
- DB操作がHasura上で出来る Hasura is 何
7 弊社・弊サービスについて
8 弊社について Mission 意思疎通をもっと便利に
9 サービス紹介 どこからでもかんたん呼び出し お困りごとがすぐ伝わる
10 使い方 スマホで二次元コード を読込み呼び出し かけつけ、遠隔等 適切な手段で接客 ブラウザやアプリで 呼び出しを受信 接客を評価 お客様の行動
スタッフの行動 スタッフの行動 お客様の行動 1 2 3 4
全国の様々なゲームセンターや 小売店などに 導入されています 11 使ってみてね
12 実際の画面 呼び出し画面
13 実際の画面 管理画面 端末
14 伸びてます
15 運用
16 運用方法 TypeScriptを主軸にフロントは Next.js サーバーサイドは Node.js でやっています 組織戦略と GraphQL、Hasura https://speakerdeck.com/shinnoki/zu-zhi-zhan-lue-to-graphql-hasura?slide=9
17 main / develop にマージされると Allow List が更新されたり migration や
metadata が反映されます CI / CD
18 開発の歴史
19 • Apexをしていたら現CEOに誘われた • ちょうどReact, TypeScriptやGraphQLを触っていた • 2020/1にジョインして開発開始 始まり
20 - Firebase上にあげてモックを用意していた - DBはFirestoreでやる?とか悩んでいた 開発開始 管理画面 呼び出し画面
メンターだった@shinnoki(現CTO)がHasuraを紹介 21 ここで登場 NoSQLで開発してしまうとDB設計が複雑 化してきたときにツールや知見が世の中に 転がっていなくて大変。 Hasuraを使えば開発効率もいいし、SQLも 使えるし、仮にHasuraをやめてバックエ ンドを書くことになってもDBはそのまま 使えるからリスクが少ないよ。
環境整備もラクだし 運用もすごく簡単 22 Hasura👍
23 1ヶ月しないうちに基本的な機能が揃って PoC予定のお客様に見せることができた ほめられた🎉
24 店舗従業員向けのアプリを作る話になり React-Native / Expoで ゼロから2週間弱でストアリリース🎉 アプリも作った
25 半年経って二人エンジニアがジョイン🎉 コーディング経験はあるが弊社の技術スタックはほぼ未経験 人が増えた
26 2週間ほどで本番に Pull-Requestが出せるように 初学者にもいい
27 Hasuraは 学習コストが低く 初めての人に教えるのも良い 初学者にもいい
28 そして現在・・・
29 人も増えました
30 追加サービスも増えてます
31 ベータリリースから導入店舗数700店舗に至るまで 長時間の障害もなく Hasuraで運用し続けられています
32 Hasuraのよさ
33 爆速で開発できた Hasuraのよさ
34 docker compose upだけ デジちゃいむリポジトリ内のREADME
35 爆速で開発できた2 - code-generatorで型安全につなぎ込める - 学習コストが低いため、GraphQL経験がない人でもす ぐに開発に貢献できる - みんなフルスタックにできるようになる -
外部委託の方のキャッチアップも爆速で終わる - Migrationのおかげで環境を簡単に合わせられる
36 Hasura-Consoleが見るだけですぐ使える とりあえず使える Hasura - Quick Start with Docker https://hasura.io/docs/latest/getting-started/docker-simple/#try-out-a-query
37 よしなにやってくれる - n+1問題とかSQLインジェクション対策とか - Production Checklistに従えばより安全に - https://hasura.io/docs/latest/deployment/production-checklist/
38 苦労していること
39 ビジネスロジックについて - ビジネスロジックや状態管理が複雑になってくると辛い - ActionやRemote Schemaを使わないとフロントエンドに処 理がばらけてしまい大変になる - デジちゃいむの場合、順番待ち機能の実装が思ったより
も大変 - 呼び出し機能はビジネスロジックとしては簡単
40 - Hasuraが便利すぎる - バックエンドの知見が深まりづらいかも? う~ん
41 Hasura使ってよかった~ おわりに
42