X-Git-Url: https://git.r.bdr.sh/rbdr/sorting-hat/blobdiff_plain/a6b9035958a0e125d291ef1696c94d6a53a3c918..8cfba6fefb4d7b899d52584fd0f7778e7d921691:/README.md diff --git a/README.md b/README.md index a0aff3a..75b6b80 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,64 @@ -# sorting-hat -A sorting hat, sorts you to a variety of sets of 4 +# Sorting Hat + +A sorting hat, sorts you to a variety of sets based on the assignment of +mind waves. + +## Usage + +This package can be used as a standalone executable or as a library +inside other node applications + +### As an executable + +It can be used as a local or global installation + +#### Local Install + +``` +$ npm install sorting-hat +$ npx sorting-hat +``` + +#### Global Install + +``` +$ npm install -g sorting-hat +$ sorting-hat +``` + +#### Overriding configuration in the binary + +The binary uses environment variables to override the defaults + +* `SORTING_HAT_DEVICE_LOCATION`: The path from where we'll listen to the + mindwave, defaults to `/dev/tty.MindWaveMobile-SerialPo` +* `SORTING_HAT_MAPPING_STRATEGY`: The strategy used to sort the waves, + it defaults to `tmnt`. That is also the only supported value as of + right now +* `SORTING_HAT_PORT`: The port on which we'll start the websocket server + to send state updates to the frontends + +### As a Library + +You can include it in other libraries by requiring the file. For more +information on the public API and the used data structures, please check +`doc/README.md` + +``` +'use strict'; + +const sortingHat = new SortingHat({ + deviceLocation: '/dev/tty.MindWaveMobile-SerialPo', + mappingStrategy: 'tmnt', + port: 1987 +}); +sortingHat.start(); +``` + +At the moment it's not built right, so you can't really do much with +this mode. But you can do it. + +## Further Improvements + +* Give independent weights to each wave and category so we can balance +* Allow actual use as a library