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
Amplify Boostup #2 monorepo 運用による複数プロジェクト開発
Search
cohe aoki
March 20, 2023
Programming
730
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amplify Boostup #2 monorepo 運用による複数プロジェクト開発
cohe aoki
March 20, 2023
More Decks by cohe aoki
See All by cohe aoki
BMG が生成したピッチ資料のデモ
coa00
0
480
Amplify Boostup #2 Multi project using monorepo
coa00
0
74
LLMを使ったチームのプロダクト開発の生産性を向上させる取り組み
coa00
0
47
サーバレス技術を活用したエンジョイ スピード開発
coa00
1
380
【Amplify Japan UG x Startup】Amplify チームによる プロダクト開発
coa00
0
710
Expo と Amplifyを使って Webとアプリを同時開発
coa00
0
1.4k
Expo & Amplifyを使ってWebとアプリを同時開発した話
coa00
2
1k
Other Decks in Programming
See All in Programming
えっ!!コードを読まずに開発を!?
hananouchi
0
170
継続モナドとリアクティブプログラミング
yukikurage
3
460
どこまでゆるくて許されるのか
tk3fftk
0
460
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
250
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
260
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
130
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.8k
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
190
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Why Our Code Smells
bkeepers
PRO
340
58k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Transcript
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
Amplify Boostup #2 monorepo 運用による複数プロジェクト開発 株式会社 PURPOM MEDIA LAB (ピュアポムメディアラボ) 青木光平
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
自己紹介 青木光平 (フロントエンドプログラマー、開発ディ レクター、UIUXデザイナー) 趣味 音楽、スプラトゥーン、メディアアート Amplifyいにしえ歴 3年 所属 Purpom Media Lab CEO Active Core CTO
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
目次 1. 自己紹介 2. 事例紹介 3. Ampfliy monorepo 4. nest.js による lambda の開発 5. 最後に
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
プロダクト開発は冒険。発注するお客さんに楽しんでもらいたい。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
最小からはじめてサービスを大きくしたい MVP(最小限のプロダクト)を早期に 実際にユーザが触れることができる状 態を継続的に構築します。 お客様が実際にユーザー目線で触れ、 フィードバックをすることで、大きな ずれを防ぎます。 またリリース後もフィードバックを通 してアップデートすることで市場の指 示が得られるサービスを構築すること ができます。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
デザインシステム デザイン、フロント構築も早くするた めにReact、Figmaのデザインシステ ムを日々育てています。 Amplify UIを使うとこのあたりも完全 に自動化できます。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
どんなもの作っているの?(事例
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
介護IoT iOS アプリ(2023年リリース予定
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
スタートアップのプロダクト
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
Ampfliy monorepo
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
ユースケース)リソースを共有しつつ複数のフロントアプ リケーションに分けたい Front Web CMS Admin AppSync Congito S3 library
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
1. ディレクトリを作る apps/ backend amplify nextApp1 src nextApp2 https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/monorepo-configuration.html - apps ディレクトリ配下にbackend 飲み のディレクトリ、フロントエンドディレ クトリをそれぞれ作成 - backend は amplify init を行いバックエ ンド生成を実施。 - nextApp1, nextApp2 はnpx create-next-appを実行して生成しま す。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
2. ビルドの設定 フロント - next.js の ホスティングの みを記述します。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
3. ビルドの設定 バックエンド - バックエンドのみを生成し ます。 - フロントは特に何も行いま せん。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
4. Graphql のコードの生成場所の調整 その1 - Amplifyが生成するGraphQL のコー ドをそれぞれに出力する - backend 配下に.graphqlconfig.yml を作成し、生成する場所を指定する ことが可能です。 - こちらは複数記述可能です。 - backend の中で amplify codegen を行うと指定したディレクトリに graqphql ディレクトリを作成する ことが可能です。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
4. Graphql のコードの生成場所の調整 その2 1. フロントエンドで aws appsync get-introspection-schema --api-id {API ID} --format JSON schema.json 2. .graphqlconfig.yml を作成、 schemePathは、1でダウン ロードしたファイルを指定 3. amplify code gen で生成
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
6. 接続情報共有 - 通常だけど複雑 - aws-exports.js 経由で取得します。そのためにはフロント エンドに amplify pull を行う必要があります。 - 完全に分離 - フロント側でシンプルにするために環境は固定で切り替え る - 例 dotenv など
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
6. コードの共有 - npm, yarn の packages を使う - typesciptなら tsconfig の path を使う。 - next-transpile-modules(next.js) 限定を使う
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
6.1 packages workspace を使う - root の package に packages を作って、nodemodules も monorepo 管理することもできます。 - 注意点 yarn classic では動作しますが、yarn berry 以降での動 作が不安定です。他にもこのケースは動かないなどがあるよう です。 - 反省)はまりどころが多いので、個人的には設定しなくても良 いのではと思います。
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
6.2 tsconfig
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
nest.js による lambda の開発
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
ユースケース)アプリケーションの開発が進んだことによる functions 数の増加した - アプリケーションの開発が増えると function 数が増加します。 - 同じようなコードが増える。ライブラリの共通化 - デバッグの高速化が課題。 解決策が二つ - lambda Layer - monorepo
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
Nest.jsの特徴 - Webpack, node.js でビルドが 可能 - monorepo ベースの開発に対 応 - library の構築も可能 - TypeScript で対応可能
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
Demo
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
最後に ピュアポムメディアラボではAmplifyを使ったMVP開発の研究を行っています。 さらに高速開発をどうすればいいのか、工夫しながらやっています。 一緒に研究してくれる仲間募集中です。
[email protected]
Twitter: coa00
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
MVP 技術を 様々な案件を行いながら、PDCA回しながら改善してい ます
Copyright © 2022 Purpom Media Lab Inc. All Rights Reserved.
Thank You