# プロジェクト概要
仕様書・ドキュメントが一切存在しない超レガシーな社内Webシステム(フロントエンド約55,000行/バックエンド約30,000行、いずれも単一ファイル構成)を引き継ぎ、バグ改修による安定化から新規機能開発までを単独で担当した。
# チーム情報
専任のチーム体制・ドキュメント管理者は存在せず、本システムの保守および追加開発を**自身が単独で担当**。不具合報告書の受領から調査・原因究明・改修・テスト・リリースまでを一貫して対応し、追加開発機能についても設計から実装まで一人で完結させた。
---
## 開発・実装内容A:超レガシーシステムのバグ改修と安定化(保守フェーズ)
**【概要】**
ドキュメントが存在しないシステムに対し、長年蓄積された不具合を解消し、崩壊寸前だった稼働状態を正常化した。
**【どのような機能の開発・実装か】**
(自身が単独で担当)ユーザーからの不具合報告書を起点とした、既存コードの解析・原因究明・修正。約2,000行を改修。
**【課題・問題点】**
- 仕様書・設計書が皆無で、コード全体像の把握が困難
- フロント・バックとも単一ファイルに数万行が集約され、依存関係が複雑
- 専用の検証(テスト)環境が存在せず、本番影響(デグレード)のリスクが高い
**【打ち手・使用した技術】**
- ブラウザのデベロッパーツール(Console)とログ解析を用い、リバースエンジニアリング的に原因箇所を迅速に特定
- フロントエンド:**JavaScript / Vue.js** のコードを解析し不具合を修正
- バックエンド:**C# / .NET** のロジックを解析し原因を究明・改修
- 検証環境がないため、依存関係を整理して影響範囲を特定した上でローカル検証を徹底。修正 → 単体・結合テスト → ソースレビュー → リリースのサイクルを実施
**【成果】**
- 長年放置されていた**200件以上のバグを改修**し、システムを安定稼働させた(定量)
- 重大なデグレード(二次障害)を一度も発生させることなく完遂(定性)
---
## 開発・実装内容B:部品管理機能の新規フルサイクル開発(追加開発フェーズ)
**【概要】**
安定化後の最終2ヶ月間、新たな業務要件に対する新規機能を、要件定義からリリースまで単独で完結させた。
**【どのような機能の開発・実装か】**
(自身が単独で設計・実装)**部品管理機能**。ある製品がどの部品で構成され、その部品がさらにどの下位部品で構成されるかを、階層構造で統合的に管理できる機能を新規開発。約5,000行を実装。
**【課題・問題点】**
- 技術的負債が極めて多いレガシーなコードベース上で、既存処理を壊さずに機能を追加する必要があった
- 製品⇔部品の親子・多階層の関係を、既存データ構造を踏まえて正しく表現・管理する必要があった
**【打ち手・使用した技術】**
- 要件定義 → 基本設計書確認 → モック作成 → コーディング → 単体・結合テスト → ソースレビュー → リリースまでを一人で担当
- フロントエンド:**Vue.js / TypeScript** で部品階層の閲覧・登録・編集を行う画面とUIロジックを実装
- バックエンド:**C# / .NET** で製品・部品の階層関係を管理するロジックを実装
- 詳細設計書・不具合報告書などのドキュメントも自身で整備
**【成果】**
- 既存処理へ影響を出すことなく、部品の階層的な統合管理を実現する新機能をリリース(定性)
- 製品構成情報を一元管理できるようになり、部品情報の追跡・管理性を向上(定性)