# プロジェクト概要
企業が掲載するアフィリエイトを集約・掲載してユーザーへ報酬をキックバックする、通称「ポイントサイト」の追加開発および保守/運用を行った。
# チーム構成
・マネージャ 1名
・リーダー 2名
・SE/プログラマー 8名
# 担当した役割
SEとしてマーケティングやカスタマーサポートから出される追加案件の要件定義からリリースまで一貫して行った。
リリース後の機能についてもリファクタリングも行い保守を行った。
# 使用技術や開発環境等
PHP
JavaScript, Vue.js
MySQL
# 主な業務内容
担当した業務で特に印象的だった物を以下に記述します。
## 開発・実装内容A
PHPのバージョンアップ対応
【概要】
プロジェクトにアサイン当初からPHPのバージョンが古く、セキュリティの脆弱性や最新のフレームワークに対応できない懸念点を解消するためにアップデート対応を行った。
【工夫した事】
コードの静的解析ツールであるPHPStanやPHPMDを活用して、下位互換性のない機能の調査を重要視して調査を行い、バージョンアップできる環境整備を行った。
## 開発・実装内容B
MySQLのバージョンアップ対応
【概要】
DBサーバーのインフラ更新を5年周期に行っているのに併せてミドルウェアのアップデートの対応を行っている。本件ではWEBサービス側から発行されるSQLの
【工夫した事】
現行サーバーでクエリーログを発行して、移行用のサーバーで実行してクエリでエラーが発生しないか検査する簡易バッチを作成した。
## 開発・実装内容C
コード品質の向上およびCI/CD環境の整備
【概要】
プロジェクトにかかわる人数が多く、要員のスキルに依る課題が発生していた。
【発生していた課題】
・システムの構成に規約が明確化されておらず要員のスキルによって冗長なコードが発生しやすい状態だった
・リリースの手順が煩雑でミスが発生しやすい状態だった
【工夫した事】
下記の手順で開発のルール作りに取り組みました。
1.コーディング規約を設けて命名規則などの基本的な箇所で共通認識を形成させる
2.システムアーキテクトにDDDを採用してドメインへの集約やサービスして冗長化を防いだ
3.コードレビューにも指摘に対するタグ付けを行い指摘される内容のデータ収集を行った
4.GItHubActionを用いてレビューの必須化とJenkinsとも連携してコードのオートデプロイを実現してリリースのミスを現象させた