本プロダクトは、新卒エンジニア採用担当向けのエンジニアの能力を可視化するWebサービスです。
採用担当の「会社にマッチしているエンジニアを採用したいがミスマッチがある」といった課題を解決するために作成しました。
現状の選考方法の例としては以下のようなものがあります。
- 書類選考
- 面接
- 筆記試験
- コーディイングテスト
これらは、本番一発勝負であったり選考のためだけに準備をしてくる場合が多いと思います。 その場合、エンジニアが本当はどんな人でどんな能力に長けているのかといった点は見えづらいのではないかと考えています。
その問題を解決するために本プロダクトでは、エンジニアのGitHubの普段の活動を分析し、能力として可視化します。
エンジニアの評価軸は、以下の通りです。
- 発見力 (課題を発見する能力)
- イシュースコア
- 解決力 (課題に取り組む能力)
- リポジトリスコア
- コミットスコア
- プルリクスコア
- スピード (課題に取り組む速さ)
- コミットスピードスコア
https://drive.google.com/file/d/15qCIAcWko9MW1Wl4BE4UNkf-0Wpj84wz/view?usp=sharing
Firebase (https://console.firebase.google.com/)
- Firebaseのプロジェクトを作成する
- Firebaseのアプリを作成する
- プロジェクトのSign-in methodとしてメール/パスワードを有効にする
- アプリのコンフィグ(APIキー等)を取得する
- プロジェクトのサービスアカウントの秘密鍵を取得する
- Firebaseのプロジェクトページを開く
プロジェクトの概要
の右にある⚙(歯車)
ボタンを押して、プロジェクトの設定
へ遷移- マイアプリに作成したアプリを選んで
Firebase SDK snippet
の内容を取得 - 本リポジトリの
frontend/src/firebase.ts
ファイルのfirebaseConfig
に取得した値を設定
- Firebaseのプロジェクトページを開く
プロジェクトの概要
の右にある⚙(歯車)
ボタンを押して、プロジェクトの設定
へ遷移- タブの
サービスアカウント
へ遷移 新しい秘密鍵の生成
ボタンを押して、秘密鍵をダウンロード- ダウンロードした鍵を本リポジトリの
backend/firebaseServiceAccountKey.json
へリネームして設置
1.~6.は初回時限定なので1度実行した後は、DBの変更がなければ行う必要はない
各コマンドについてはコマンド一覧の項目を参照
make env
make container=db up
でデータベースを起動make db/init
でDBを作成するmake flyway/migrate
でDBのマイグレーションを行うmake down
でコンテナを一度終了させるmake GITHUB_TOKEN=$GITHUB_TOKEN BATCH_TICK_DURATION=$BATCH_TICK_DURATION up
でプロダクトを起動- ブラウザで
http://localhost:3000
にアクセスする
- ページURL: http://localhost:3000
- エンドポイント: http://localhost:1323
- ポート: 3306
Makefile
に基本的なコマンドが定義されている。
- $GITHUB_TOKEN: 自分で取得したGitHub APIのトークン
- $BATCH_TICK_DURATION: エンジニアの能力をDBに蓄積するバッチ処理が走る時間間隔(秒)
コンテナ全体を起動
make GITHUB_TOKEN=$GITHUB_TOKEN BATCH_TICK_DURATION=$BATCH_TICK_DURATION up
特定のコンテナのみ起動
make GITHUB_TOKEN=$GITHUB_TOKEN BATCH_TICK_DURATION=$BATCH_TICK_DURATION container=batch up
コンテナを削除
make down
データベースに接続
make db/client
データベースを初期化
make db/init
データベースを削除
make db/drop
データベースをマイグレート
make flyway/migrate