Open10

ベストイレブン研究所 | ElevenLabo 開発記録

kenshuhorikenshuhori

久しぶりに個人開発を開始

今までは何となく XXX を作ってみよう!でスタートしていつも途中退場してたので、今回はアプローチを変更する

  • テーマ(個人開発の内容)を決める # ここまでは今までと同じ
  • 最初にFigmaを書いて、初回リリースの内容を確定する
    • あれもできたらいいな、みたいな所謂Nice-To-Haveな画面や機能を極限まで減らす
  • 対応する画面を減らす
    • 今回はwebかつスマホ向け画面のみ作成する
  • とはいえ、今後の自分や仕事につながる要素、チャレンジ要素も大事にする
kenshuhorikenshuhori

当面やること

  • Figma作成
  • 初回リリース内容を確定
  • Githubリポジトリ作成
  • Docker + devcontainer環境を作成
  • vscodeの設定を作成
  • Nextjs の AppRouter で create-next-app
  • linter と formatter に Biome を選定
  • デザインコンポーネントにChakraUIを利用(サーバーコンポーネントには使えない)
  • storybook を使ってみる
  • storybook に ChakraUI を組み込んでみる
  • 一旦Vercel にデプロイ
  • CIを整える(depedabot & test & lint & format & tsc)
  • Database 選定 -> Vercel Storage (Neon PostgreSQL)
  • Storage 選定 -> Vercel Storage
  • BaaSで対応するか考える & BaaS選定 -> Vercel で対応する
  • IDaaS 選定 -> Clerk
kenshuhorikenshuhori

Storybook に ChakraUI を組み込む

手順

$ yarn add -D @chakra-ui/storybook-addon

theme を 組み込んであげないとエラーになるので、雑にtheme.tsを作って利用

# src/app/theme.ts
export default {
  // なにもしない
};
# .storybook/preview.ts

import type { Preview } from "@storybook/react";
import theme from "../src/app/theme";

const preview: Preview = {
  parameters: {
    chakra: {
      theme,
    },
    controls: {
      matchers: {
        color: /(background|color)$/i,
        date: /Date$/i,
      },
    },
  },
};

export default preview;

公式Doc

https://v2.chakra-ui.com/getting-started/with-storybook

kenshuhorikenshuhori

すごい参考になった。
横幅360pxのデバイスを基準点として、すべてのサイズをremで表現する手法
https://zenn.dev/masa5714/articles/0a05659cf6e84b

アイコンをドラッグして任意のポジションにセットする場合、event.movementX や event.movementY で位置を算出するが、これがpx単位のためremに変換する必要がある。

下記でざっくりremに変換して対応するとうまくいきそう

rem = px / (10 * ( window.innerWidth / 360 ))

kenshuhorikenshuhori

Github の README をしっかり整えてみた。
やっぱり画像系が加わるとすごく魅力的になる。

フォーメーションが動かせることが一目でわかるGIFを配置したのがなによりよかった。勿論OGP画像も。
あとは技術スタックをバッチ表示もわかりやすい。

https://github.com/kenshuhori/eleven-labo