打線組んだwwメーカー を作りました!
投稿にあたり他の方と完全にネタ被りをしてしまったのですが、使っている技術周りは違ったので臆せず投稿しようと思います。笑
(OGPも含めきれいに実装されていた方の打線メーカーはこちら)
https://crieit.net/boards/web1week-202009/1dd1b99ee139f324c20408ce24eecec0
今回のテーマが「2」ということで、現代野球は2番打者に強打者を置くか、いぶし銀な打者を置くか、采配が分かれることに注目し、なんJでおなじみの「打線組んだww」を簡単に作れるWebアプリを作りました。
今回はNext.js v9.5で正式に導入されたStatic Generation(段階的な静的再生成)が使いたく、試してみました!
ビルドされたページは静的ページとして配信されるのですが、投稿されると新しい静的ページを実行時に登録することができます。
また、今回はFire StoreのようなNoSQLではなくRDBSが使いたかったので、Cloud SQLとCloud Functionsを繋げてサーバレスバックエンドの構築を目指しました。
export const getStaticPaths: GetStaticPaths = async () => {
const response = await axios.get('<APIのURL>')
const data = await response.data
const paths = data.map((data) => `/post/${data.postId}`)
return { paths, fallback: true }
}
export const getStaticProps: GetStaticProps = async ({ params }) => {
const id = params.id
const response = await axios.get('<API の URL>', {
params: { postId: id },
})
const data = await response.data
return {
props: {
data,
},
revalidate: 1,
}
}
まさかの同イベントで同じネタの方がいらっしゃるとはwなアプリになってしまいました笑
もっと足したい機能があるので、今回のイベントではプロトタイピングと位置付けて、サービスの拡大ができたら面白いかなーと思います。
打線組んだwwメーカー はこちら