記事の趣旨
自分が個人開発するときの備忘録
1. プロジェクトの初期化
npx create-next-app . --eslint --app
2. githubにリポジトリ追加
- githubでリポジトリ作成
- 以下のコマンド実行
git init
git add .
git commit -m "initial commit"
git remote add origin git@github.com:hoge/fuga-project.git
git push -u origin master
3. error, loading, not-found ページの作成
該当のapp/***.tsx
ファイルの作成
4. Supabaseの設定
- Supabaseでプロジェクトの作成
- 初期設定
-
.env.local
ファイルの作成- Project Settings > API (
https://supabase.com/dashboard/project/<project_id>/settings/api
)に遷移
- Project Settings > API (
-
NEXT_PUBLIC_SUPABASE_URL
とNEXT_PUBLIC_SUPABASE_ANON_KEY
を追加
-
npx supabase login
-
npx supabase init
-
supabase/
ディレクトリに.gitignore
,config.toml
,seed.sql
ファイルが作成される
-
- ローカル用の設定
-
npx supabase link --project-ref <Reference ID>
- Project Settings > General
-
- CI/CD (github action)用の設定
- github secrets(リポジトリ > Settings > Secrets and variables > ActionsN)に遷移
-
SUPABASE_ACCESS_TOKEN
,SUPABASE_REFERENCE_ID
,SUPABASE_DB_PASSWORD
を追加-
SUPABASE_ACCESS_TOKEN
: Dashboard(Home) > Access Tokens
-
-
.github/workflows/supabase-migrate.yml
にファイルを追加
- ライブラリのインストール
npm i @supabase/ssr @supabase/supabase-js
-
utils/supabase/
にclient.ts
とserver.ts
ファイルを追加する
- Testファイルの追加
npx supabase migration new <migration name>
5. Vercelのデプロイ
-
.env.local
にある環境変数を"Environment Variables"に追加したうえでdeployする
6. ESLintの設定
npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
-
.eslintrc.json
の設定 <- いずれESLint v9用に移行する
7. Prettierの設定
npm install --save-dev --save-exact prettier
node --eval "fs.writeFileSync('.prettierrc','{}\n')"
node --eval "fs.writeFileSync('.prettierignore','# Ignore artifacts:\nbuild\ncoverage\n')"
npx prettier . --write
8. faviconの設定
- Favicon Generator for perfect icons on all browsers | RealFaviconGeneratorでsvgファイルをinputして、favicon packageをダウンロードする
-
app/
配下にfavicon.ico
、icon.svg
、apple-icon.png
をペーストする(必要に応じてファイル名を変える)