Next.js on Vercel & Rails on Herokuな手作りブログがだいたいできました

手作り中のこのブログなんですが、ようやく記事作成機能ができました。ちょっと整理してみたいと思います。

構成

このブログには2つのプロジェクトがあります。画面とAPIです。

  • 画面: blog.gaaamii.jp Next.jsを利用。デプロイ先はVercel
  • API: api.gaaamii.jp Railsを利用。デプロイ先はHeroku

画面

Next.jsで作成しました。SSGやらISRやらを使ってみたかったというのがけっこう大きいです。いろいろここで実験して知見を得ていきたいです。デプロイ先はVercelなんですが、評判通り、設定が楽でとても良かったです。GitHub連携してほほいのほいでした。

API

Rails 6で作成しました。今回はAPIが主なアプリケーションなので、apiモードで作成して、ログイン画面のコントローラだけ継承元をActionController::Baseにしてビューの機能を使えるようにしました。せっかくなのでRuby 3で...と思ったけどあるgemで出てきたエラーが解消できなかったので諦めて2.7にしました。

投稿機能をどうやってつくったか

投稿画面はblog.gaaamii.jpに置きたかったので、api.gaaamii.jp でログインして得たcookieをSameSite: strictでblog.gaaamii.jpと共有できるようにしました。で、記事作成の際はそのcookieと共にapi.gaaamii.jpの記事作成エンドポイントへリクエストすれば投稿が完了という感じです。

嬉しかったこと

Vercelではドメインも買えたのが地味に嬉しかったです。ドメインとウェブサイトのデプロイが一緒の場所で管理できるのは楽ですね。

これから

ちょっとまだできないことが多くて不便なので、不便順にちょこちょこ機能追加と改修をしていきたいと思います。