ddicorpo / RecruitInc

2018 - 2019 Capstone Project for Team RecruitInc
Other
1 stars 0 forks source link

RecruitInc

Demo UI

A testing demo is available at: https://youtu.be/nvL2ha0XUYo?t=342

Project purpose

The purpose of this software is to facilitate the job of HR employees in charge of finding new developers. We were tasked with finding a new way to gather information about potential candidates to be hired.

The tool outputs a ranked list of Github users in a specific location tailored to the specific skills the HR employee is looking for. With the help of a matching algorithm and a process continuously running to find new users on Github, we were able to rank these users in a comprehensive visual list.

Environment Setup

Tool Version Usage Link
docker v18.3.1 Build container images docker.com
NodeJS v11.14 Main Server Run time nodejs
npm v6.9 Package manager npm
MongoDB >= v3.4 NoSQL cluster MongoDB

How to start the project?

  1. Setup the multiple .env files
  2. Start all services using docker

Setup .env environment

Back-End

Front-End

Logging-system

Toggle-Feature

Recruit-Inc-Questionnaire-Front

Launch Containers

Each service has a Dockerfile the project can be launched using Docker. You should make sure to launch the toggle-feature first.

Toggle-feature Commands:

Logging System Docker Commands:

Back-End Docker Commands:

Front-End Docker Commands:

Front-End Questionnaire Commands:

Testing

Run Unit Test (Back-End)

Run Unit Test Coverage (Back-End)

alt text

Run Unit Test (Front-End)

Run Unit Test Coverage (Front-End)

(attempt to use/install Jest + enzyme + webpack + typescript)

Testing Front-End

shallow: isolate test to a single component mount: Used for DOM rendering, can test using lifecycle componentDidMount render: redering static HTML in react componenent (optional function)

Database

Connect to Mongo DB from Intellij IDE

Connect to the database on our server

Logging

Online Log Storage

Local Log Storage

Toggle-feature

The back-end and front-end a dependent on the feature toggle. Features like candidate sorting are controlled by feature toggle.

Cron-job

Our unique cron-job is used to collect data from GitHub.

Debug Configuration for back-end using Intellij