Web開発
保守困難なPHP会員管理システムをLaravelで全面刷新
- バックエンド開発
- システム開発

- Overview
- PHPのスクラッチ開発で構築されていた会員管理システムを、LaravelとMySQLを用いて全面的に再構築しました。 既存システムは古い設計・実装が残っており、コードの保守性が低く、機能を追加するたびに多くの調査・開発工数がかかる状態でした。予定していた新機能についても、従来の構成では追加が難しいと判断されていました。 そこで、既存のソースコードと業務仕様を解析し、データベース設計を含めてシステムを根本から見直しました。 複雑な承認ワークフローを備えた会員管理システムを、約3カ月で設計・開発・テストし、納品まで対応しています。 ※契約上の都合により、エンドクライアント名およびシステム画面は非公開としています。
- Client
- システム開発会社様
- Scope
- バックエンド開発 | システム開発
- Year
- 2021
プロジェクト概要
- クライアント:システム開発会社様
- 開発種別:会員管理システムのリプレイス
- 目的:保守性の改善、追加開発が可能なシステムへの刷新
- ShareDanの担当範囲:既存コード解析、要件整理、アプリケーション設計、データベース設計、バックエンド開発、テスト、サーバー初期構築
- 協力会社の担当範囲:デザイン、インフラ全体設計
- バックエンド:PHP、Laravel
- データベース:MySQL
- 開発環境:Docker
- インフラ:国内クラウドサービス
- 開発期間:約3カ月
- 開発年:2021年
- 現在の状況:継続運用・追加開発中
機能追加が困難になったPHPシステム
既存の会員管理システムは、PHPによるスクラッチ開発で構築され、長期間にわたって運用されていました。
しかし、古い記述方法や複雑な処理が残されており、機能同士の依存関係を把握することが難しい状態でした。
小さな変更でも既存機能への影響調査が必要となり、追加開発のたびに多くの工数が発生。新たに予定されていた機能についても、従来の構成を維持したまま追加することは難しいと判断されていました。
部分的な改修を繰り返すのではなく、今後の運用と機能追加を見据えて、システム全体を再構築する方針となりました。
既存コードから業務仕様を解析
システムの再構築では、現在の業務仕様を正確に把握する必要があります。
長期間運用されてきたシステムでは、当初の仕様書と実際の動作が一致していないことや、ソースコードにしか残っていない処理が存在することもあります。
ShareDanでは、既存のPHPコードを解析し、会員情報の管理方法、各機能の処理、承認状態の変化などを整理しました。
既存システムの動作をそのまま再現するだけでなく、今後の機能追加を行いやすくするため、処理の責任範囲やデータの持ち方を見直しています。
Laravel・MySQLによるシステム再構築
新しいシステムのバックエンドにはLaravel、データベースにはMySQLを採用しました。
Laravelの基本構成に沿ってプログラムを整理し、業務処理、データ操作、画面からのリクエスト処理などの役割を分離。機能の追加や修正を行う際に、影響範囲を把握しやすい構成としました。
データベースについても、既存システムの構造をそのまま引き継ぐのではなく、会員情報と承認状態を適切に管理できるよう再設計しています。
特定の担当者しか理解できないシステムから、複数の開発者が継続して保守・改修できるシステムへの刷新を目指しました。
多段階の承認ワークフローを設計
本システムで特に難易度が高かったのが、複数の承認者と承認段階を持つワークフローの設計です。
申請が一方向に進むだけではなく、確認、承認、差し戻し、再申請などによって、複数の状態を行き来する可能性がありました。
承認状態と実際のデータに食い違いが生じると、申請が進められなくなったり、本来とは異なる承認者に処理が渡ったりするおそれがあります。
そこで、各段階で実行できる操作と遷移先を整理し、承認フロー全体の整合性を保てるデータ構造を設計しました。
複雑な業務ルールをプログラムへ直接書き連ねるのではなく、今後の変更や段階追加にも対応しやすい構成としています。
Dockerで開発環境を標準化
開発環境にはDockerを採用し、各開発者が同じ条件でシステムを動かせる環境を構築しました。
PHPやMySQLなどのバージョン、必要な設定、依存するソフトウェアを開発環境として統一することで、担当者のパソコンによって動作が異なる問題を抑えています。
新しい開発者がプロジェクトへ参加する場合も、環境構築にかかる時間を短縮しやすく、継続的な保守・追加開発に適した体制となっています。
国内クラウド環境のサーバー初期構築
インフラ全体の設計は協力会社が担当し、ShareDanでは指定された国内クラウド環境におけるサーバーの初期構築を担当しました。
アプリケーションが正常に動作するために必要なミドルウェアや設定を整え、開発したLaravelシステムを稼働環境へ接続しています。
複数社で担当領域を分けるプロジェクトにおいても、インフラ担当会社と連携しながら、アプリケーションの開発から稼働確認まで対応しました。
約3カ月で設計から納品まで対応
既存コードの解析、仕様整理、データベース設計、Laravelによる再構築、テストを含め、約3カ月で納品まで対応しました。
短期間での開発だったため、既存システムのすべてを無条件に再現するのではなく、業務上必要な機能と改善すべき構造を整理し、優先順位を明確にして開発を進めています。
限られた期間の中でも、公開後の保守性や追加開発を考慮したシステム構成としました。
決済連携・CSV出力などを継続開発
システムの納品後も、ShareDanが継続して運用と追加開発を担当しています。
現在までに、外部決済サービスとの連携や、管理データをCSV形式で出力する機能などを追加しました。
当初予定されていた機能だけでなく、実際の運用を通して生まれた要望にも随時対応しています。
全面刷新によって機能追加が困難だった状態を解消し、業務の変化に合わせて継続的に改善できるシステムとなりました。
Laravelによるレガシーシステム刷新をご相談ください
ShareDanでは、古いPHPシステムの解析、Laravelへの移行、データベースの再設計、複雑な承認ワークフローの構築に対応しています。
仕様書が不足しているシステムや、機能追加のたびに大きな工数がかかっているシステムについても、既存コードと実際の業務を確認しながら再構築方法をご提案します。
会員管理、申請・承認、決済連携、CSV・帳票出力などを含む業務システムの開発・運用についてもご相談ください。