Works About
← Works に戻る 業務実績 · 3年間

アパレル経営管理SaaS

アパレル業界向けマルチテナント経営管理プラットフォーム。POS・Web注文・レンタル・請求書・在庫管理・EC連携を統合。3年間の設計・開発・保守を担当。

PHPMySQLRabbitMQDockerNginxTraefikマルチテナント

概要

アパレル業界向けのクラウドベース経営管理システム。POS・Web注文・レンタル管理などの複数プロダクトを統合管理するマルチテナント対応プラットフォームとして、3年間にわたり開発・保守に携わりました。

課題

POS・Web注文・レンタル・在庫管理・請求書発行などの業務が複数システムに分散し、データの一元管理ができていませんでした。また、複数のクライアント企業(テナント)ごとにデータを完全に分離しつつ、同一システムで運用する必要がありました。

アーキテクチャ

マルチテナント設計

テナント分離はDB分離方式を採用。マスターDBでテナント情報と接続先DSNを管理し、リクエストのドメイン/ルーティングからテナントを自動判別して専用DBに接続。各企業のデータを完全に分離しつつ、アプリケーションコードは共通化しました。

マルチモジュール構成

  • 伝票管理 — 売上・仕入・受取・納品・委託・注文・予約・移動・小売・修正・会計の11モジュール
  • POS — 専用APIエンドポイント
  • Web注文 — オンライン注文受付システム
  • レンタル — 商品レンタル管理
  • 請求書 — 請求書生成・管理
  • マスターデータ — 商品・顧客・品目管理

非同期処理とEC連携

複数の外部ECプラットフォームとの在庫同期にRabbitMQを採用。Workerコンテナが常時キューを監視し、在庫更新を非同期で処理。Cronコンテナで定時タスクも実行。

インフラ構成

Docker Composeで以下のコンテナを管理:

  • Nginx — Webサーバ、マルチドメイン対応
  • PHP-FPM — アプリケーション実行
  • MySQL — マスターDB+テナント別DB
  • RabbitMQ — メッセージキューイング
  • Worker — EC同期ワーカー(常時稼働)
  • Cron — 定時タスク実行
  • Traefik — リバースプロキシ

担当範囲

少人数チーム(2-3名)で、以下を幅広く担当:

  • 顧客ヒアリングと要件定義
  • 伝票モジュール・EC連携機能の設計と実装
  • データベースマイグレーション(36件以上)の設計・実行
  • Docker開発環境の構築・保守
  • 本番環境の運用・障害対応
  • POS専用プロダクトとの連携開発

成果

  • 11種類の伝票モジュールを実装し、アパレル業務の全工程をカバー
  • 3社のECプラットフォームとのリアルタイム在庫同期を実現
  • マルチテナント対応により、複数企業の同時運用を実現
  • 36件以上のDBマイグレーションを安全に実行・管理
  • 3年間にわたる継続的な機能拡張と安定運用

学び

長期間のプロダクト開発で最も重要だったのは「変更に強い設計」でした。アパレル業界特有のビジネスルール(シーズン・サイズ・カラーの組み合わせ管理、委託販売のフロー等)は頻繁に変化し、柔軟なモジュール設計が不可欠でした。

顧客ヒアリングから実装・保守まで一貫して担当したことで、「技術的に正しい」だけでなく「業務として使いやすい」システムを作る力を身につけました。