開発実績
守秘義務のため、お客様の社名および画面は掲載しておりません。 個別のご相談の場では、可能な範囲でより詳しくご説明いたします。
自動車事業者向け 統合案件管理システム
保険代理店・レンタカー販売など、複数の法人を展開する事業者様の基幹業務システムです。 2社以上にまたがる業務を1つのシステムに結合し、案件の受付から進捗管理、請求、粗利集計までを一気通貫で扱います。
- テーブル数
- 55テーブル数
- 行(アプリケーションコード)
- 約44,000行(アプリケーションコード)
- 画面数
- 40画面数
- 継続支援期間
- 3年5ヶ月継続支援期間
ご依頼時の状況
事故修理、保険案件、レンタカー、車検、買取。 扱う業務ごとに担当部署も帳票も台帳も分かれており、 同じ顧客・同じ車両の情報が複数の場所に重複して存在している状態でした。 紙とExcelでの管理も多く、案件がいまどこまで進んでいるのかを把握するだけで 人手がかかっていました。
決まった仕様書があったわけではありません。 現場ごとの業務の流れを一つずつ聞き取り、 何を1つのデータとして扱うべきかを整理するところから着手しました。
担当した範囲
業務ヒアリングと要件の整理から、画面設計、データベース設計、開発、 AWS 上への構築、リリース後の運用改善まで、一貫して担当しています。 リリースして終わりではなく、業務の変化に合わせた機能追加と内部の改善を、 3年5ヶ月にわたって継続しています。
システムの範囲
10種の業務を1システムに統合
事故修理・保険案件・レンタカー・車検・仕入販売・在庫販売・レッカー・買取など、それぞれ担当部署も帳票も異なる業務を、顧客と車両を軸にした共通のデータモデルで束ねています。
複数法人をまたぐ権限設計
本社(管理者・リーダー・一般・新人・工場)とフランチャイズ加盟店を含む6つのロールを定義し、法人をまたいだデータの見える範囲を制御しています。
帳票レイアウトの管理画面編集
見積書・請求書・領収書のPDFを自動生成。項目の配置を管理画面から編集できる構造にし、帳票の変更ごとに開発が発生しない形にしています。
OneDrive連携による契約書管理
案件ごとのフォルダ階層をMicrosoft Graph API経由で自動生成。大容量ファイルは分割アップロードで対応し、連携用シークレットの期限切れも自動更新で運用の手を離れています。
運用しながら進めている改善
日々の業務で使われているシステムのため、いずれも稼働を止めずに段階的に適用しています。 扱うデータ量も業務の幅も、稼働開始時から増え続けています。
パフォーマンスの改善
- 一覧画面のN+1クエリを解消し、表示を3.0秒から1.5秒に短縮
- 全件をメモリに読み込んでいた検索処理をDB側ページングに変更
- 10テーブルを横断する一覧を、表示行のみ集計する方式に変更
- 検索・ソート対象カラムへのインデックス追加
保守性・堅牢性の向上
- 肥大化した中核クラスを、既存の挙動を固定するテストを書いた上で段階的に分割
- 権限まわりの実装を許可リスト方式へ統一
- 外部連携まわりの通信・ログ出力の取り扱いを見直し
- 業務データの是正・移行を無停止で実施(19本のバッチを作成)
使用技術
- Ruby on Rails 7
- PostgreSQL
- AWS ECS
- Docker
- Devise / CanCanCan
- Microsoft Graph API
- wicked_pdf
- RSpec
その他の実績
日英2言語対応のサービスサイト
法人化以前に運営していた個人事業ブランドのサイトです。対象読者の異なる4つのセクションを1つのサイトに統合し、日英2言語で構築しました。 7ルート × 4画面幅 × ライト/ダークの組み合わせを自動で撮影・比較する仕組みを自作し、表示崩れを検知しています。
Next.js 14 / next-intl / Tailwind CSS / Vercel
自社Webプロダクトの企画・開発・運営
受託開発と並行して、自社でWebプロダクトを企画から運営まで手掛けています。 独自の評価基準で継続・撤退を判断しながら運用しており、 受託案件においても「作って終わりにしない」設計の判断材料としています。
プロダクト一覧を見る