mikexxz
記事一覧

なぜゼロからブログを書くのか

logo

この記事は中国語の原文を機械翻訳したものです。原文を読む

現成のブログシステムは数多くあり、Hugo、Astro、あるいは Notion のページを使えば、十分もあれば公開できます。しかし、このブログの目的は「ブログを持つこと」ではなく、Web フルスタックを一通り歩き切ることです。

ルールは一つだけ

外部に任せられる機能も、あえて自分で実装します。

  • コメント:自分で保存し、自分で審査します。コメントする人は GitHub OAuth でログインします
  • 認証:管理者のログインは、サードパーティのサービスに頼らず、自前で実装した session を使います
  • 検索:Postgres の tsvector を使って全文検索を行います
  • カウント:閲覧数は Redis に保存します

ロードマップ

プロジェクト全体は六つのフェーズに分かれており、各フェーズの終わりには必ず本番環境へのデプロイができている必要があります。

  1. フロントエンド:design tokens、レイアウト、トップページの一覧、記事ページ
  2. API:Hono + Drizzle + PostgreSQL
  3. 管理画面:ログイン、エディタ、下書きと公開
  4. レンダリングとキャッシュ:ISR、公開時にフロントエンドへ revalidate を通知
  5. コメント、閲覧数、全文検索
  6. エンジニアリング基盤:Docker、CI、VPS へのデプロイ、ログと監視

ブログは器であり、学習こそが目的です。

いま見ていただいているのは第一フェーズの成果物で、すべての記事はまだローカルのダミーデータです。

コメント

このコメントを削除しますか?

コメントの内容は消去され、元に戻すことはできません。