Laravel/PHP中心のWebアプリケーションエンジニア / ジュニアエンジニア
3- 学習支援プラットフォーム開発
**期間**:2025年3月 ~ 2025年9月 **環境**:Laravel / php / Livewire / Alpine.js / PHPUnit / Cloudinary / Salesforce(Heroku Connect) **担当**:設計、実装、テスト ##### 担当内容・実装詳細 2- 代理店・倉庫向けポータル開発 と 似たように同一ドメイン配下で、保護者向け・生徒向けなど複数のポータルを運用する必要があったため、ポータルごとにログインできるよう認証機能を改修した。 Salesforce連携では、Heroku Connectを利用し、Salesforce上のデータとアプリケーション側のデータを同期する処理に対応した。 Heroku Connect経由のテーブルでは、通常のLaravelモデルで使用する `created_at` などと異なるカラム名を扱う必要があったため、Salesforce連携用の基底モデルとして `SalesforceBaseModel` を作成。 各Salesforce連携モデルがこの基底モデルを継承する構成にし、共通設定をまとめた。 一部機能では、Cloudinaryへのファイルアップロード・ダウンロード処理を実装。 公式ドキュメントを確認しながら、ファイル連携に必要な処理を追加した。 また、Blade内に記述されていた表示関連ロジックの一部をモデル側へ移動し、画面側にロジックが散らばらないよう整理した。 Livewire内で行っていたアップロード処理やデータ取得処理についても、Livewireコンポーネント内に書く必要がない処理は別ファイルへ切り出した。 加えて、`Auth::user()` から関連する contact 情報を扱いやすくするため、contact 情報を事前に読み込むミドルウェアを作成。 これにより、開発時に `Auth::user()->contact->sfid` のような形で、各所から contact 情報を取得しやすくした。