Merge branch 'master' of github.com:yardstick/braid

This commit is contained in:
Josh Burman 2019-03-14 16:54:31 -04:00
commit 9cb6c3b4d6

View File

@ -1,12 +1,36 @@
# BRAID v0.8.5 # 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) [![Build Status](https://semaphoreci.com/api/v1/projects/7767f0f3-4da6-4c84-9167-4db5402a3262/2573412/badge.svg)](https://semaphoreci.com/yardstick/braid)
## Essential Information: ## 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. * 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) * 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 ## Local Development
* you can see if braid is running by typing in `https://ysbraid.localhost:8443` * you can see if braid is running by typing in `https://ysbraid.localhost:8443`
@ -18,7 +42,8 @@
secret = "test" secret = "test"
payload = { payload = {
:data => { :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_id => (yardstick user id),
:user_type => '(teacher/user)', :user_type => '(teacher/user)',
:channel => 'desired channel name' :channel => 'desired channel name'
@ -31,13 +56,4 @@ payload = {
token = JWT.encode payload, hmac_secret, "HS256" token = JWT.encode payload, hmac_secret, "HS256"
``` ```
* to test your changes before pushing you can run `npm test`
## 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