Next.jsを勉強したい

これまでに勉強したことも含めて、勉強したことを追加していきたい。

参考 Webサイト
- とほほのHTML入門: https://www.tohoho-web.com/html/
- とほほのCSS入門: https://www.tohoho-web.com/css/
- とほほのJavascript入門: https://www.tohoho-web.com/js/index.htm
- とほほのTypeScript入門: https://www.tohoho-web.com/ex/typescript.html
- MDN: https://developer.mozilla.org/ja/docs/Web
- React: https://ja.react.dev
- Next.js: https://nextjs.org
- tailwindcss: https://tailwindcss.com
- shadcn/ui: https://ui.shadcn.com/
- zod: https://zod.dev/
- biome: https://biomejs.dev/ja/
- supabase: https://supabase.com/docs
- vercel: https://vercel.com/
- AWS amplify: https://aws.amazon.com/jp/amplify/
- roadmap: https://roadmap.sh

参考 youtube
- プログラミングチュートリアル: https://www.youtube.com/@programming_tutorial_youtube
- AsmrProg: https://www.youtube.com/@AsmrProg
- フルスタックチャンネル: https://www.youtube.com/@fullstackchannel/videos
- JISOU: https://www.youtube.com/@Sicut_study
- TypeScriptでフルスタックエンジニアになる: https://www.youtube.com/@arafipro

参考 本
- Next.js+ヘッドレスCMSではじめる! かんたんモダンWebサイト制作入門 高速で、安全で、運用しやすいサイトのつくりかた: https://www.shoeisha.co.jp/book/detail/9784798183664
- official github: https://github.com/nextjs-microcms-book/nextjs-website-sample

参考 記事
- 個人開発で参考になるNext.jsリポジトリ10選: https://zenn.dev/ya_s_u/articles/awesome-nextjs-repos
- 令和のHTML / CSS / JavaScriptの書き方50選: https://zenn.dev/necscat/articles/bc9bba54babaf5
- Next.js 14 アプリ開発のあらすじ: https://zenn.dev/nino/books/30e21d37af73b5

Twitter クローンを作ろう
参考: https://www.youtube.com/watch?v=Z_9EpoGXH8k
supabaseの設定参考:
- https://supabase.com/docs/guides/getting-started/tutorials/with-nextjs?queryGroups=language&language=ts
- https://supabase.com/docs/guides/auth/server-side/nextjs
型安全に環境変数を読む: https://creatures.sh/blog/env-type-safety-and-validation/
{ type A } -> type { A }
supabaseのメール認証の登録は毎時3通まで?
nextjs-withsupabase: https://github.com/vercel/next.js/tree/canary/examples/with-supabase
loginのエラー内容はクエリに入れてredirectしていた。
一旦中断

supabase, shadcn/ui, zodを用いた認証画面をつくりたい
まず認証画面単体から作りたくなった
pnpm dlx create-next-app@latest
✔ What is your project named? … .
✔ Would you like to use TypeScript? … Yes
✔ Would you like to use ESLint? … No
✔ Would you like to use Tailwind CSS? … Yes
✔ Would you like to use `src/` directory? … No
✔ Would you like to use App Router? (recommended) … Yes
✔ Would you like to customize the default import alias (@/*)? … No
pnpm add --save-dev --save-exact @biomejs/biome
pnpm biome init
pnpm install @supabase/supabase-js @supabase/ssr
pnpm install zod
supabaseのsetupを https://supabase.com/docs/guides/auth/server-side/nextjs に従って行う
signout: https://supabase.com/docs/reference/javascript/auth-signinwithsso
password認証のみだが一応完成した。https://github.com/obizip/auth-page-with-supabase
メモ
- login と sign up をどう使い分けるか
- パスワード認証以外の認証を使いたい
- supabase cliを使いたい
- localのsupabaseで上手く完結させたい
- RLSとは何か
- guiでなくsql文で今回と同様なテーブルを作るにはどうすればよいか(特にAuthとの連携)
- supabaseにはauth用のuiがあったが、今はdeprecateされている https://supabase.com/docs/guides/auth/auth-helpers/auth-ui

Dashboardを作りたい
参考: https://www.youtube.com/watch?v=YthqiuzEXBs&t=4s
これをNext.js化する
pnpm dlx create-next-app@latest
✔ What is your project named? … .
✔ Would you like to use TypeScript? … Yes
✔ Would you like to use ESLint? … No
✔ Would you like to use Tailwind CSS? … Yes
✔ Would you like to use `src/` directory? … No
✔ Would you like to use App Router? (recommended) … Yes
✔ Would you like to customize the default import alias (@/*)? … No
pnpm add --save-dev --save-exact @biomejs/biome
pnpm biome init
pnpm install boxicons --save
pnpm install chart.js
Next.js with boxicons: https://medium.com/@michaelquarcoo04/boxicons-react-next-js-typescript-integration-87216f00d594

Quiz generator
pnpm dlx create-next-app@latest
✔ What is your project named? … .
✔ Would you like to use TypeScript? … Yes
✔ Would you like to use ESLint? … No
✔ Would you like to use Tailwind CSS? … Yes
✔ Would you like to use `src/` directory? … No
✔ Would you like to use App Router? (recommended) … Yes
✔ Would you like to customize the default import alias (@/*)? … No
pnpm add --save-dev --save-exact @biomejs/biome
pnpm biome init
pnpm install zod
pnpm dlx shadcn-ui@latest init
shadcn初期設定: https://ui.shadcn.com/docs/installation/next