### プロジェクトの概要
インターネットサービスのシステム更改に際し、新WEBシステムの開発・保守対応。
### チーム
- プロジェクト全体人数:約100人
- チームメンバー人数:8人
- 役割:テックリード
### 開発・実装内容
顧客の要件を聞き、実現方法の調査、タスクの洗い出しと見積り、洗い出したタスクに従って設計書の作成やコーディング、テスト業務を行った。
テックリードの立ち位置で、メンバーをテクニカルフォローおよび、業務内容のフォローをしながら業務を行った。
これまでの経験を活かし、メンテナンス性や可読性を重視した実装を行った。
### 課題・問題点
顧客折衝では、設計前の要件確認で顧客の意図がなかなか掴めないことが多かったが、何度も質問したり確認したりして認識相違が少なくなるようにした。
どのようなライブラリや技術が必要か、こちらから実現方法の提案を行った。
### 打ち手・使用した技術
バックエンドでは、様々なSaaSのAPIを呼び出すBFF OpenAPI(Backend For Frontend)の作成を行った。自信が作成するAPIだけでなく、呼び出すSaaS側のAPIの理解も不可欠だった。
言語はJavaでフレームワークはSpring。IDEはIntelliJを使用。こちらの案件でもMac端末を使用したが問題なく業務を遂行。
それまでシステムに存在しなかった非同期処理を一から実装。Webで調べながらSpringの機能を用いて非同期処理を実現した。
フロントでは作成したBFF OpenAPIを呼び出し、Next.jsを用いて画面の生成を行った。以前経験したReactフレームワークと似ているため、キャッチアップも早かった。
データベースはMySQLを使用し、JavaではDomaを使用してデータベースの操作をした。
ソース管理はGitHub、CIやデプロイもGitHub Actionを通してDockerを使用。
サーバーはAWSのECRやECSを使用。ここでは資産の確認や手動でのデプロイを行った。AWSのCloudWatchを使って障害・ログの調査なども行っていた。
### 習得スキル
- WEBアプリに関わる各Javaライブラリ
- Springを用いた非同期処理
- Next.js
- 基礎的なAWSの操作
- Docker