We have moved our development of this project to bitbucket
Real time curriculum vitae matcher
This is an api for CV scrapers to upload found CVs to where this tries to match it to a list of user defined search profiles at the moment of a CV upload (hence the name realtime). The actions taken when a CV is matched is based on the search profile. This tool also provides helper tools for managing secrets and keys.
What this isn't:
- A CV scraper for x website (that's up to you)
- A gui where you can search for CVs (this is only an API nor a database)
- A CV database (it might cache some cv information but CVs are never written to any disk by this program)
What this is:
An API that matches defined search profiles to scraped CVs. On one side you have your CV scraper that scraps CVs and uploads them to this API. On the other side you have a controller program build by you that defines the search profiles where scraped CVs should be compared to. The API can also store scraper secrets like site login credentials.
We intent to make this API GDPR compliant.
Requirements:
- GoLang 1.18+
- Nodejs 15+
cd dashboard
npm install
npm run build
cd ..
echo USE_TESTING_DB=true > .env
go run .
Copy the printed out dashboard token en head over to localhost:4000
note that this uses an in memory database that resets every time the app restarts, the default contents is defined in mock/mock.go
Extra requirements:
- Mongodb (mongodb compass is a great db viewer)
Make sure to also create a new mongodb database, the collections are created automatically by this program
cp .env.example .env
vim .env
cd dashboard
npm install
npm run build
cd ..
go run .
Head over to localhost:4000/docs to get the api docs
Make sure to read
Build the project using
docker build -t rtcv:latest .
Quickly run the project using docker
docker run -it --rm -e USE_TESTING_DB=true -p 4000:4000 rtcv:latest
Run the full project in docker
# create a docker network so RT-CV and mongodb can communicate without exposing ports
docker network create f2f
# run the mongodb database
docker run \
-d \
-v /data/db:/data/db \
--network f2f \
mongo:5.0
# create an env file for the RT-CV app
# you can also use -e for every env variable but there might be a lot so this is easier
cp .env.example .env
vim .env
# run RT-CV
docker run \
-d \
--network f2f \
--env-file $(pwd)/.env \
-p 127.0.0.1:4000:4000 \
rtcv:latest