# プロジェクト概要
- チーム規模:6人(開発4人、テクニカルアドバイザー1人、スクラムマスター1人)
- eKYC事業者から受け取ったデータをもとに本人確認を行うシステム
- `OpenID Connect`の仕様に則ったクライアント側の実装
- 自身の役割
- 設計(言語選定、アーキテクチャ、フレームワーク、テーブル設計)
- 実装(アジャイル開発、スクラムを用いた持続的な開発)
- 運用保守(障害時の対応、顧客からの問い合わせ対応)
上記に対してプロダクト始動時から携わる。
# あなたが取り組んだ内容
- 技術選定(言語、フレームワーク、ライブラリ)
- テーブル設計
- 実装(メインプロダクト及びそれに伴うmockシステム)
- ユニットテスト (`JUnit4`, `JUnit5`, `Jest`)
- E2Eテスト(`Jest`, `Puppeteer`)
- UI/IX改善
- 機能企画
# 詳細アーキテクチャ
- メインプロジェクト
-`Java8`(`Spring` フレームワーク)のバックエンドと`JavaScript`(`Vue2`)をフロントエンドを、`Nginx`を用いたリバースプロキシで実現
- 当時の社内技術スタックからバックエンドの言語は`Java`(`Spring Boot`)、サーバは`AWS`(`Fargate`) を選定
- 社内システムのためチームの成長を優先し、既存プロジェクトではほぼ活用していなかった`Vue2`を選定
- 開発に伴う`mockシステム`
1. `Spring Security OAuth2 Client`を用いた`OpenID Connect`, `OAuth2`のクライアント側実装サンプル
2. `node.js`を用いたeKYC事業者システム
# 次に活かせる学び
- 検索を考慮したindexの作成、データの整合性を顧慮した外部キーの設定や、暗号化を設計
- 開発のMVPを3週間で実装するスピード感
- Vue2を用いたフロントエンドの実装