# 開発概要
既存のe-Learningシステムに対し、リアルタイムのチャット機能を追加実装しました。
# 使用技術
## e-Learning(既存機能)で使用されている技術
- C#
- .NET Framework
- ASP.NET
- SQL Server
- Windows Server(自社クラウドサーバ)
- boot strap, 生js
## チャット(追加機能)で使用した技術
- React
- AWS Chime (Slackのバックエンドで使用されている技術)
- AWS S3
# アピールポイント
## AWS のサービスを活用したサーバレスの機能拡張
現状のe-Learningでは、自社クラウドサーバを利用していたため、一時的な高負荷に耐えられなかったり、Windowsサーバの価格高騰によりサーバ費用が負担になる問題がありました。
そのため、サーバ費用を抑えるために、AWSを用いてサーバレスの設計を行いました。主な使用技術としては、Slackでも用いられているAWS Chimeというリアルタイムのチャットを行うためのサービスになります。また、チャット上でファイルの送受信も行いたいという要望があり、AWS S3も活用しています。
## Reactを用いたモダンなUXの実現
フロントエンドにはReactを選定しました。社内でのReactの導入実績はありませんでしたが、フリーのライブラリの導入の行いやすさを考慮し、既存の生jsを用いるよりも効率的で高品質なものが作れると判断したことが、選考の理由となります。
フロントエンドの中で特に注力した点としては、以下のような内容になります。
- 無限スクロールによる高速でスムーズなチャット一覧画面の作成
- Viteによる複数画面の処理の共通化
- SPAかつチャット機能で必要な処理をReactとAWSにまとめることにより、Windows Serverの負荷軽減