🔥

microCMSをusersテーブルのように活用し、価値検証までの速度を上げる

2024/12/22に公開

こちらは、「microCMSでこんなことができた!あなたのユースケースを大募集 by microCMS Advent Calendar 2024」の21日目の記事です。

こんにちは、合同会社Steg 代表の keigo と申します。

本記事では、弊社運営サービスにおける、microCMSの活用事例について紹介します。

弊社運営のサービス概要

弊社では、現役のDJとDJを教わりたい学生をマッチングさせる、DJ家庭教師プラットフォーム「LiTTY」を運営しています。
https://litty-dj.com/

講師DJとしてアカウントを作成いただくことで、自己紹介文やプロフィール画像、SNSアカウントリンク、空きスケジュールなどの設定が可能です。

開発背景

一般的な家庭教師プラットフォームの開発には、少なからぬ工数が必要となります。

しかし、本事業は新規事業開発として、迅速な価値検証を実施する必要がありました。

そこで、はじめは短期間での価値検証を実施するべく、LPとしての機能も兼ね備えたWebアプリケーションを開発することにしました。
本フェーズでは以下を要件としています。

  1. サービス紹介文の表示

  2. 講師DJ情報の表示

    • DJ名
    • 自己紹介文
    • プロフィール画像
    • SNSアカウントリンク
    • 空きスケジュール
  3. 予約申請送信機能

microCMSは、②講師DJ情報の管理 において活用しています。ちなみに、①サービス紹介文の表示 は静的実装(ベタ書き)とし、③予約申請送信機能 はSlack Webhookを利用した最低限の機能を実現しました。

microCMS導入の経緯

講師DJ情報の登録作業は「登録希望者からヒアリングしたプロフィール情報を、運営担当者がDBへ保存する」という手動での運用を計画していました。

アプリケーション開発コストを削減すること、ユーザとのコミュニケーション機会を創出することが狙いです。

しかし、運営が一人ひとり対応する必要があることから即時での更新作業が難しく、場合によっては講師DJがWebサイトに表示されるまでに長い時間を要してしまう問題があります。

講師として登録いただいたDJの興味を失ってしまうのは、何としてでも避けたいです。

また、講師DJへのアプローチは非エンジニアが主体となって行うため、ソースコードの変更およびPull Request作成やSQLクエリ発行は現実的ではありません。

このような背景から、講師DJ情報の管理システムには以下の要件が必要でした。

  • 非エンジニアでもコンテンツ管理が可能であること
  • Webアプリケーションとの連携が容易であること
  • 一定範囲において無償利用が可能であること

これらの要件を総合的に検討した結果、microCMSの採用を決定しました。

実際に導入してみると、新規登録画面の開発が不要になったことや、非エンジニアでもユーザー情報の作成・変更対応が可能になったことなど、大きな利点がありました。

このように、価値検証段階のプロダクトにおいてユーザー情報をmicroCMSで管理することは、運用面での利便性が高く、開発コストの削減に寄与しました。

追加開発への対応

ここまでは、microCMSから情報を取得し描画する、シンプルなWebアプリケーションでした。

しかし、一定数のユーザーにご登録いただけたことを受け、これまで手動で対応していた機能をユーザー自身が管理画面から操作可能とする必要性が生じました。

実際にリリースした管理画面の仕様については、以下のプレスリリースをご参照ください:
https://prtimes.jp/main/html/rd/p/000000002.000101192.html

データベースとの連携

管理画面にはユーザー情報のみならず、ユーザーに紐づいた様々な情報を表示します。

したがって、microCMSに保存しているユーザー情報をもとに、データベース内の複数のテーブルの参照が必要となります。

そこで、APIのレスポンスに含まれる id をprimary keyとして利用することで、データベースとの連携を実現しました。

またmicroCMSは、APIを使用した検索において使用可能なクエリパラメータが充実しています。

filtersを用いた特定値での絞り込みはもちろん、limitでの件数制限やoffsetでのページング、ordersを使用したソートオプションにも対応しており、非常に便利です。

上記以外にも多くの機能が提供されてますので、詳細については以下のドキュメントをご参照ください。
https://document.microcms.io/content-api/get-list-contents#h929d25d495

クエリパラメータが充実していることにより、まるでORMでクエリを書いてるような感覚でデータの取得が可能です。
これにより、絞り込み等のロジックを特段実装することなく、他のデータベースとの連携を実現することができました。

技術的に工夫した点

microCMSで管理している講師DJ情報には、プロフィール画像が含まれます。

管理画面実装当初、画像ファイルのAPI経由での更新機能は未提供でした。

当時のぼやき:
https://x.com/Kspace_trk/status/1653355242174713856

microCMS様からの親切なお返事:
https://x.com/micro_cms/status/1655382283229204480

そのためプロフィールの画像データ更新には、AWS S3をオブジェクトストレージとして利用し、オブジェクトのパスをmicroCMSのフィールドに記載し、紐付けることで実現しました。

しかしなんと、2024年3月上旬より、microCMSにおいて画像ファイルのAPI経由での更新が可能となりました!

当時の投稿に対し、機能リリースのお知らせをいただきました 🎉
https://x.com/micro_cms/status/1768172384413216831

まとめ

今回は、リアルタイム性があまり重要視されない新規事業プロダクトにおいて、一部のテーブルをmicroCMSで管理した事例について紹介しました。
迅速な価値検証が必要なプロダクト開発においては、ぜひmicroCMSの導入を検討してみてはいかがでしょうか!

Steg Inc.

Discussion