Cleanup and restructure the repo file tree. Most all files that go in the Docker image are now in an app folder. All tests are inside one test folder. All files needed for development are in a development folder. The main file to start the application moved from bin/rest to app/index.js. There was also some restructuring inside the app folder.
Refactor logging. The logger used in the app is now directly an instance of winston. There is no longer a logger wrapper. Along with the console logging, deployments can now optionally use Docker volumes to save logs outside of the container. This is useful for debugging a crashed container, in which case logs wouldn't be available, unless using something like AWS Cloudwatch.
The logs in the files are JSON objects.
Small enhancements around serving the web client assets. A public folder is no longer in the repo.
There is no longer a docker folder. In general, scripts and docker files are more distributed in the file tree, so they are co-located with the content.
Do you have any concerns with this PR?
No
How can the reviewer verify this PR?
It involves many file changes, so it's best to look at the branch and not the PR.
Any background context you want to provide?
I felt the repo needed to be (re)organized in order to be more approachable. The logging changes will make it easier to use a computer to query/analyze the JSON logs.
Screenshots or logs (if appropriate)
Questions:
Have you connected this PR to the issue it resolves? #258 , #323 , #324
Does the documentation need an update? Yes, included.
Does this add new dependencies? No
Have you added unit or functional tests for this PR? No
What does this PR do?
app
folder. All tests are inside onetest
folder. All files needed for development are in adevelopment
folder. The main file to start the application moved frombin/rest
toapp/index.js
. There was also some restructuring inside theapp
folder.winston
. There is no longer a logger wrapper. Along with the console logging, deployments can now optionally use Docker volumes to save logs outside of the container. This is useful for debugging a crashed container, in which case logs wouldn't be available, unless using something like AWS Cloudwatch. The logs in the files are JSON objects.docker
folder. In general, scripts and docker files are more distributed in the file tree, so they are co-located with the content.Do you have any concerns with this PR?
No
How can the reviewer verify this PR?
It involves many file changes, so it's best to look at the branch and not the PR.
Any background context you want to provide?
I felt the repo needed to be (re)organized in order to be more approachable. The logging changes will make it easier to use a computer to query/analyze the JSON logs.
Screenshots or logs (if appropriate)
Questions: