I built a Node.js proxy server using Express that takes authenticated frontend requests to perform the mathematical operations. Configured extensive error handling and logging using morgan middleware. Errors are caught and displayed by the fronend
Each of the calculator operations are hosted on either a live service URL on Rancher or Lambda function
This app uses Travis CI, tests are automatically ran when code is pushed to git. During testing, both unit tests and web request tests are carried out to ensure the live serice URL is running correctly. “chai” and “mocha” packages are used to test the web proxy
Each calculator operation is containerised using docker and deployed to Rancher. I created multiple ingress controllers to ensure funcitons worked correctly if an endpoint failed
This project is connected to an AWS Relational Database Service. The calculator has a "save" button which stores values into the RDS to then be recalled later. All system failures are sent to the database. For alerting I used AWS Simple Notification System, when a failure is detected in one of the calculator operations an email is sent my email address