A simple server-side rock-paper-scissors game.
cd level with src file to run. Npm i to install dependencies.
IMPORTANT: Requires supertest to run several of the tests. npm i supertest. It won't update the package.json file but will allow you to run the tests effectively afterwards!
Then click 'npm start' and navigate to the relevant port on which the program is running, which will be specified in the terminal.
Passed 22 tests - all routes now tested.
I have set up automated testing, so you don't need to run the program manually in order to test the routes. I used the chai and mocha library in addition to the usual node testing suites.
I believe I have met all of the extended criteria: none of my class functions exceed five lines of code and I have used a nested hashmap in order to avoid having to write a long conditional statement to determine the outcomes between the two players. My code is extensively tested. Overall, I'm happy with the program and feel I now have a template for backend work that I can build upon to create greater complexity in the future.
Please see package.json for a list of the additional dev dependencies.