A simple candidate-matcher
Go Fiber app. It uses Facebook ent
ORM framework backed by sqlite3
.
export GO111MODULE=on
git clone git@github.com:zeako/candidate-matcher.git && cd candidate-matcher
export DB_FILE_PATH=<db-file-path> # db file location
go run cmd/app/main.go # exposes service on port 8080
Without persistency:
docker run --rm -it -p 8080:8080 zeako/candidate-matcher # latest
With persistent sqlite3 db:
docker run --rm -it -p 8080:8080 -e DB_FILE_PATH=/tmp/db.sqlite3 --mount type=bind,source=<db-file-path>,target=/tmp/db.sqlite3 zeako/candidate-matcher # latest
Create candidates:
curl --location --request POST 'http://localhost:8080/jobs/' --header 'Content-Type: application/json' --data-raw '{
"title": "Architect",
"skill": "C"
}'
curl --location --request POST 'http://localhost:8080/jobs/' --header 'Content-Type: application/json' --data-raw '{
"title": "Junior Architect",
"skill": "C"
}'
Create job:
curl --location --request POST 'http://localhost:8080/jobs/' --header 'Content-Type: application/json' --data-raw '{
"title": "Architect",
"skill": "C"
}'
Find matching candidates:
curl --location --request GET 'http://localhost:8080/jobs/1/candidates'
* Input is case-insensitive.