diff --git a/README.md b/README.md index 2f4098f..bd43756 100755 --- a/README.md +++ b/README.md @@ -1,12 +1,36 @@ # BRAID v0.8.5 -## Websocket server for the Measure platform ---- +> Websocket server for the Measure platform + [![Build Status](https://semaphoreci.com/api/v1/projects/7767f0f3-4da6-4c84-9167-4db5402a3262/2573412/badge.svg)](https://semaphoreci.com/yardstick/braid) ## Essential Information: * braid uses [mocha (test framework)](https://www.npmjs.com/package/mocha), [chai (BDD/TDD assertion library)](https://www.npmjs.com/package/chai), [sinnon (spies, stubs, and mocks)](https://www.npmjs.com/package/sinon), [nyc (code coverage calculator)](https://www.npmjs.com/package/nyc) for our unit testing. Get aquainted with these packages to have a smooth unit testing experience. * For web sockets braid uses [ws](https://www.npmjs.com/package/ws) -* Braid uses [typescript](https://www.npmjs.com/package/typescript) for our primary code development because of it's opinionated type management among other things. Get a good understanding of what typescript is, it's benifitsm drawbacks and dev flow +* braid uses [typescript](https://www.npmjs.com/package/typescript) for our primary code development because of it's opinionated type management among other things. Get a good understanding of what typescript is, it's benifits, drawbacks, and dev flow + +## Setting up +* download the braid repo into a folder in the same directory as the primary yardstick folder +* `vagrant up` in the primary yardstick folder +* run the command `compose stop braid && compose rm braid && tsc && compose build braid && compose up -d` + * `compose stop` stops the default braid container that `vagrant up` builds + * `compose rm braid` removes the default braid container + * `tsc` transpiles the typescript in braid into javascript + * `compose build braid` builds the braid container based on the latest transpiled javascript files + * `comopose up -d` builds the braid container based on the files in the braid folder, overriding the defaul braid build container + +## Building to Docker Hub +* run `./build` +* when complete you'll see something like this `Your new docker tag: yardstick/micro-services:braid-tagid` +* copy this tag id, and in the yardstick `docker-compose.yml` file change the `image` field to have the new tage, for example: +``` +braid: + image: yardstick/micro-services:braid-{add the new tag here} + environment: + VIRTUAL_HOST: ysbraid.localhost + HTTPS_METHOD: noredirect + VIRTUAL_PORT: 8443 +``` +* once complete and confirmed to function, create a new PR for the measure repo, with the new tag and await ultimate judgement ## Local Development * you can see if braid is running by typing in `https://ysbraid.localhost:8443` @@ -18,7 +42,8 @@ secret = "test" payload = { :data => { - :client => 'client name (mhs is only one implemented currently)', :client_type => 'site (only one in use rite now)', + :client => 'client name (mhs is only one implemented currently)', + :client_type => 'site (only one in use rite now)', :user_id => (yardstick user id), :user_type => '(teacher/user)', :channel => 'desired channel name' @@ -31,13 +56,4 @@ payload = { token = JWT.encode payload, hmac_secret, "HS256" ``` - -## Setting up -* download the braid repo into a folder in the same director as the primary yardstick folder -* `vagrant up` in the primary yardstick folder -* run the command `compose stop braid && compose rm braid && tsc && compose build braid && compose up -d` - * `compose stop` stops the default braid container that `vagrant up` builds - * `compose rm braid` removes the default braid container - * `tsc` transpiles the typescript in braid into javascript - * `compose build braid` builds the braid container based on the latest transpiled javascript files - * `comopose up -d` builds the braid container based on the files in the braid folder, overriding the defaul braid build container +* to test your changes before pushing you can run `npm test`