ホーム/ 支援実績
SaaS / Webサービス

SaaSのサービス拡張を、Rails + MySQL でリファクタ・機能拡張

SaaS事業者

SaaS事業者のサービス拡張を、Ruby on Rails + MySQL の既存基盤上で実施しました。フロントエンド・管理画面の権限制御と運用部門の管理負荷を、yaml駆動の権限定義で整理しています。

Before / After

プロジェクトでの変化

  • 権限管理
    yaml駆動で柔軟に追加・編集
  • 運用負荷
    管理画面UIの整理で軽減
  • 開発環境
    Docker化で再現可能に
Challenge

課題

動いている Rails 基盤の、管理画面の権限制御が広げにくくなっていました。機能を1つ足すたびに、権限まわりの作り込みが膨らんでいきます。運用を担当するのは専任のエンジニアではありません。画面が分かりにくければ、その負荷はそのまま問い合わせの件数として返ってきます。既存の Rails 資産は活かしたい。そのうえで権限と管理画面の両方を、広げやすく迷わない形に作り直す必要がありました。

Approach

アプローチ

  1. 01 既存Rails基盤の構造とビジネスロジックを棚卸しし、改修範囲を特定しました
  2. 02 管理画面の権限制御を yaml ファイル駆動に再設計し、定義の追加・編集を簡素化しました
  3. 03 左メニュー・第二階層コントローラの権限定義パターンを統一しました
  4. 04 運用部門の動線を意識して管理画面UIを整理しました
  5. 05 Docker により開発環境を統一し、ローカル〜本番までの再現性を確保しました
  6. 06 機能追加を段階的にリリースし、運用への影響を最小化しました
Key Success Factors

成功要因

yaml駆動の権限定義
権限制御を yaml で外出しし、新規メニュー追加時のコード改修を不要にしました。
運用部門起点のUI整理
管理画面を運用部門の業務動線に合わせて整理し、問い合わせ件数の増加を抑えました。
既存資産の活用
既存の Rails + MySQL 基盤を作り直さず、改修範囲を権限と管理画面に絞りました。
段階リリース運用
機能追加を段階的にリリースし、運用部門が無理なく慣れられるようにしました。
Solution

ソリューション

Rails + MySQL の基盤はそのままに、権限制御だけを yaml で定義する仕組みへ設計し直しました。左メニューも配下のコントローラも、コードを書かずに yaml の追記だけで足せます。管理画面のUIは運用部門の動線に合わせて並べ替えました。問い合わせの発生源を、画面の側から減らす狙いです。

同じような課題、ありませんか?

業種や規模を問わず、まずはお話を伺います。

お問い合わせフォーム