HowDusty collects data about contributors. it processes it into meaningful information to get to know contributors.
- Collect metrics about users on github.
- Compute a reputation score for a given user.
Look at the NestJs documentation to learn more.
First, you need to fill the environment variables
# Connect to the howdusty database
DB_CONNECTION=
DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
# Connect to the github api
GITHUB_ACCESS_TOKEN=
# Connect to the onlydust database
ONLYDUST_DB_HOST=
ONLYDUST_DB_PORT=
ONLYDUST_DB_DATABASE=
ONLYDUST_DB_USERNAME=
ONLYDUST_DB_PASSWORD=
Then, launch the app
npm install
npm run start
commands
: Define commands of the app. See the commands section for more informations.config
: Define the configuration to communicate with our database, github and onlydust.contributors
: Define the contributor entity and expose api endpoints to interact with them.github
: Communicate with the github graphQL API.metrics
: Define and get the metrics (from github and onlydust) for contributors.onlydust
: Communicate with the onlydust database.scorer
: Calculate the score from metrics for contributors.synchronization
: Synchronize all informations (metrics, score, contributor info, etc) in our database.
onlydust:import
: Import new OnlyDust users in the databasecontributors:sync
: Synchronize contributors with the github APIcontributors:score
: Calculate the score for every contributor in the database
npm run build
node ./dist/main-cli [command-name]
/contributors
: Get all the contributors
- add more metrics (e.g. social network influence)
- gamification (badge system / experience bar)
- make it work on a broader scale than OnlyDust