# プロジェクト概要
電話の発信者が声で発した呼び出し相手の名前を音声認識AIが聞き取り、取り次ぎ先を判別し該当者に電話を転送するサービス
# チーム情報
- プロジェクト全体の規模: 50人
- チーム構成:6人
- 担当した役割:メンバー
# どのような機能の開発・実装か
管理コンソールのバックエンド部分、ユーザーに関する下記API実装
- ユーザー新規作成
- ユーザー情報個別取得
- ユーザー情報編集
- ユーザー情報リスト取得
- ユーザー情報削除
- 認証トークン生成
- 認証トークン再生成
- 認証トークン削除
### 自身の担当フェーズ
- 英語ドキュメント読解
- 仕様書レビュー
- デイリーミーティング
- ユースケース作成
- 詳細設計書作成
- OpenAPI定義
- API実装
- ユーザー新規作成
- ユーザー情報個別取得
- ユーザー情報編集
- 認証トークン削除
- 単体テスト設計作成
- ユーザー新規作成
- ユーザー情報個別取得
- ユーザー情報編集
- ユーザー情報リスト取得
- ユーザー情報削除
- 認証トークン再生成
- 認証トークン削除
- 自動テストコード実装
- ユーザー新規作成
- ユーザー情報個別取得
- ユーザー情報編集
- ユーザー情報リスト取得
- ユーザー情報削除
- 認証トークン再生成
- 認証トークン削除
- リファクタリング
- 使用技術
- 言語: Go
- フレームワーク: Echo
- DB: PostgreSQL
- 開発環境:
- VScode
- Docker
- Backlog
- Github
- Slack
- AWS(Cognito, EC2,CloudWatch,CloudFront,)
### 課題
1. 完全未経験からの案件だったため、知識に欠けてる部分が多かった
2. チーム結成初期の段階で二名の欠員が出て、チームの雰囲気が良くない時期があった。
3. ユーザーの新規作成APIを実装するにあたり、cognitoを利用する事になった。
### 工夫
1. 毎日帰宅後業務の復習と、必要な技術の調査をしていた。また、些細な事でもなるべくNotionで手順書を作成し、絶対にミスが無いようにした。
1. 例:Githubにプッシュする際の操作手順のマニュアル作成
2. 例2:cognitoでユーザープールを作成する際の操作手順
3. 例3:プロジェクトの仕様書に書いてる細かい事柄をピックアップしてメモ
4. 例4:顧客とのデイリーミーティングの内容を全て個人的にメモ
5. 例5:個人学習。自宅でユーザーCRUDのバックエンド作成。
2. 一番経験の浅い自分が積極的に質問したり、メンバーがミスしても笑い飛ばしたり、サポートしたり、チームのフォローアップに専念した。
1. なるべく時間は取らないように、自分で調査できる部分は調査し、質問の内容をまとめて質問した
2. メンバーがミスしてもすぐにサポート出来るように、なるべく他の人のタスクにも気を配るようにした
3. 実際に自宅でAWSにハンズオン形式で触れてみて、認証機能についての理解を深めて実装出来ることを確認。
### 取組の成果
1. メンバーが「あれって仕様書じゃどうなってたっけ?」「あのmakeコマンドってどうやってたっけ」「あの時のミーティングって結局結論はどっちになってたっけ?」等、たまに困っているとき自分のメモに記載されている事が度々あり、力になることができた。
1. 一度メモした事や取り組んだ実装は、なるべく理解するようにしていたので、後から参画したメンバーにも説明が出来るようになった
2. チーム参画後、4ヶ月経過する頃には「タスクの消化がかなり早くなってきて驚いている。仕事降るのを悩むとは思わなかった」とリーダーに褒められた
1. メンバーからは真面目、優しい等、勤務態度や性格に関することを褒められていた。チーム全体で積極的に質問を飛ばしあう雰囲気が出来た。
3. cognitoについて、他のメンバーに教えられる程度の知識がついた。