🎄 はじめに
今日からアドベントカレンダー企画
「クリスマスまでに『俺の考えた✝️最強のCMS✝️をつくる』」
を連載していきます。
「既存サービスに寄せる」のではなく、
“自分が本当に使いたい CMS をゼロから作る”
というテーマで年末まで走り抜けることにしました。
この記事では、
なぜ作るのか?何を作るのか?どんなゴールを目指すのか?
を紹介します。
✝️ 「最強のCMS」って何?
今回つくる CMS のコンセプトは
「小さな機能の集合で総合的に管理されたCMS」 です。これを実現するために以下の機能を搭載したいと思ってます!
- 認証は Auth0+パスキー(WebAuthn)対応
- 記事管理は Core API に集約し、編集履歴は強めに残す
- Zenn / Qiita / はてなブログ など外部媒体の投稿機能も搭載
- 画像は自動アップロード+ALT生成
- Rust 製 AI Gateway で差分サマリやタイトル自動生成
- 全部 Docker Compose でローカル一発起動。簡単に開発を実施
📦 なぜ作るのか?
理由は4あります。
1. 学習の線を自分で引き直したい
Next.js、Go、C#、Rails、Rust、Grafana…
今まで学びたかった技術を組み合わせて「作るときも飽きずに楽しく」CMS作りをしたいと思いました。そのため、マイクロサービスの集合という形で複数の技術スタックを渡り歩こうと思います。
2. プライベートで執筆したものを1元管理し、自分軸の分析を楽にしたい
自分の作った記事があちらこちらにあると、「この記事どこで書いたっけ?」となることがある。
将来的には記事を書くための資料のURLなどもまとめて自己管理用ツールとして育てていきたい。
3. 「全部入り」アーキテクチャを一度歩いてみたい
Auth、Queue、Scheduler、AI、Monitoring
いつもなら、チーム開発でしかやらないようなアーキテクチャーを自分で一度やってみたかった。複雑だからこそ挑戦する価値があると考えます。
4. AI を上手く使いこなして、爆速個人開発ができることを示したい
AIを業務でも使って行く中で「個人開発の限られた時間でこそAIは輝くのでは?」「普段業務で使わないAIも使って見ることでいまの業務にいかせるのでは」という気持ちがふつふつと湧いてきました。実際に今回の企画でAIをがっつり使ってCMSをを作り切ろうと考えます。
🗺️ なにを作るのか?(ざっくり)
これから25日で作るのは次の構成です:
- Frontend(Next.js):編集・認証・公開
- Auth Service(Go):Auth0+パスキー
- Core API(C#):記事管理・履歴・Outbox
- Publisher(Rails):外部投稿
- Upload(Rails):画像処理
- AI Gateway(Rust):差分サマリ・タイトル生成
- Observability:Grafana/Prometheus/Loki
昨年までならこんな量数週間でできなかったかもしれません。しかし、今はAIがある!AIを活用してどのくらい個人開発が効率化できるか、これも自分のテーマです。今日の時点では、開発環境をAIがある程度整えてテストを作れるところまでになってるところです。まだ、Authの実装や、Grafanaで何を観測すればいいかなどはわからない状態の開発途中なので、25日には途中経過の報告までになるかもしれません。25日、個人開発者が苦戦したり新しいことを発見する姿を楽しんでいただければと思います。
🎯 最終的なゴール
12/25 には開発完了していることを目指して進めていこうと思ってます!
-
docker compose upで全部動く - Markdown を保存すると外部投稿まで流れる
- メトリクスが全部見える
- “ちょっとした CMS アプリ群” になる
- CMSのコード部分は公開できる状態にする
を目指して開発を進めていきます!
📝 今日のまとめ
- 企画がスタート
- 「最強CMS」のビジョン共有
- ゴールの輪郭が見えた
- 明日からアーキテクチャ本編!
🎅 明日は…
Day2:Codexを駆使して環境構築!
お楽しみに。