Scouter: A human face detector which displays your Github contribution statistics.
Have a local running mongoDB using docker
make db
(Optional) Import dump user data
make migrate
docker exec -it mongo mongo scouter --eval "printjson(db.users.findOne())" docker exec -it mongo mongo scouter --eval "printjson(db.users.count())"
Skip 'Fetching data with Github API' if using dump data
# (Optional) Fetching data with Github API
### Generate Github access token
1. Github -> User -> settings -> Developer settings -> Personal access tokens
2. Keep your token safe.
### Run fetchers with token
0. Install go
1. Fetch user data with Github Search API
GITHUB_ACCESS_TOKEN= go build ./cmd/user_fetcher && ./user_fetcher -token ${GITHUB_ACCESS_TOKEN}
2. Fetch user detail information like follwers and repos with Github User API
go build ./cmd/user_detail_fetcher && ./user_detail_fetcher -token ${GITHUB_ACCESS_TOKEN}
3. Fetch users' avatar with user.url from data in mongodb
go build ./cmd/avatar_downloader && ./avatar_downloader
4. Fetch users' contribution statics by parsing html response of user.url from data in mongodb
go build ./cmd/contribution_fetcher && ./contribution_fetcher
5. Make sure user avatar are good to go
ls data/avatars
# Face detection and Face recognition
[Face Recognition API](https://Github.com/ageitgey/face_recognition)
0. Prepare a python virtual env
python3 -m venv .venv source ./.venv/bin/activate
1. Install python dependency
pip3 install dlib flask face_recognition pymongo bson
2. Try some face recognition API
face_recognition --show-distance true --tolerance 0.54 ./pictures_of_people_i_know/ ./unknown_pictures/
3. Prepare face identity file with encoding generator
python ./face_recognition/encoding_file_generator.py
4. Run apiserver to serve face recognition API
python ./face_recognition/apiserver.py
5. Send imageBytes to api server
PostRequest("http://"+apiserverip+":5000/face_detection", imageBytes)
# Unity
1. Download latest Unity with iOS Build tools
2. Create a new project
3. Download and import a free face tracker example from unity asset store
[Face Tracker Example](https://assetstore.unity.com/packages/templates/tutorials/facetracker-example-35284)
4. Download and import another priced asset is required:
[OpenCV for Unity](https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088)
NOTE: This is a priced asset.
5. Copy unity scenes and scripts
cp -r unity/Assets/Scouter/*
6. Open Unity and setup.
File -> Build Settings -> Player Settings
Mac App Store Options -> Bundle Identifier: com.chechiachang.scouter Configuration -> Scriptin Runtime Version: .NET 4.x Equivalent -> restart
7. Open Scenes/WebCamTextureFaceTrackerExample
Inspector -> Web Cam Texture Face Tracker Example -> Apiserverip:
Run