技術記事用の個人ブログを作りたいな。しずかなインターネットのように使いやすいやつ。作るか。
要件
独自ドメイン
Post の CRUD
Image Upload
Auth(自分だけログインできれば良い)
Post has many tags
Published or Draft
ブラウザで書きたい
マークダウンで書きたい
リンクカード表示したい
材料
Application: Next.js, Deploy to Croud Run
Database: PlanetScale (MySQL)
Domain: Google Domain
CDN: Cloudflare
Strage: Cloudflare R2
CI/CD: GitHub Actions
Auth: NextAuth
Editor: TipTap
Test: Vitest, React Testing Library
作り方
PlanetScale の設定をする
PostのCRUDを作成する
Deploy to Croud Runする (規約的にOKだったらVercel利用するかも)
ドメインを設定する
Vitest, React Testing Libraryの設定をする
GitHub Actionsの設定をする
Next Authを追加する
下書き機能を作成する
Tagに紐づいた、記事を表示するページを作成する
TipTap を追加する
マークダウンでかけるようにする
Cloudflare R2の設定をする
Image Uploadできるようにする
CDNの設定をする
リンクカードを生成できるようにする
初回リリース後
By me a coffeeのように決済機能を付けてみる
動的にOGPを生成できるようにする
テキスト検索
ページネーション