Summary
本システムは人と仕事のマッチングシステムです。
インフルエンサーに案件を依頼したい企業からの案件依頼を登録すると、その案件の募集内容に合わせて候補となるインフルエンサーにメール・LINEで案件通知が行われます。
その後、案件詳細を確認した上で応募したい案件にエントリーし、審査を経て案件に内定するというフローを採用しています。
このシステムはインフルエンサー向けに作られましたが、カスタマイズが可能な作りとなっており、人と仕事のマッチングをビジネスとして行う企業でしたら導入可能な形で設計しました。

Technology
システムの構成
フロントエンドのWebアプリケーションはAngularのフレームワークを利用しており、Firebase Hostingを利用して公開をしています。
バックエンドはFirebaseとGCP(Google Cloud Platform)を組み合わせており、ユーザー認証はFirebaseAuth、DBはFirestore、APIはCloudFunctionsでリクエストのハンドリングをしています。
マッチング
案件を作成する際に、案件に合うインフルエンサーの条件を管理者が設定して検索を行うと、システム側で条件に合うインフルエンサーをピックアップします。
マッチングの検索システムにはelasticsearchを利用しており、名前・住所・自己紹介などに対してのキーワード検索やシステム側で定義したカテゴリの検索等を複合的に実行することが可能となっています。
案件情報の通知
案件が作成されると、案件にマッチングしたインフルエンサーにメールやLINEで案件の招待が自動的に送られます。
メール通知はSendGrid、LINEの通知はLINE Messaging APIを利用しており、これらのリクエスト処理はCloudTasksを介しているため、大量のインフルエンサーへの通知リクエストが発生した場合でも素早く処理が行えるようになっています。