The product allows for the client to write logic-based rules in the website’s user interface, by which answers to taxation survey questions can be processed within a custom-built logic engine. This provides flexibility as taxation laws are often changing; the survey needs to reflect this. The customers of the client can then submit a variable number of surveys based on their usage plan.
The website has a single interface that defines user levels with varying degrees of control. The front-end is a static vue.js application, which is hosted in S3 and uploaded/updated by the serverless framework. AWS Cognito is used for the login service. This allows us to shift our focus of hosting and user control into AWS itself.
The backend pipeline consists of AWS Lambda functions written in Golang and sits behind an API Gateway. This serves as a middle-man between the client and the data which is hosted in DynamoDB. Serverless allows us to also deploy to multiple environment with configuration settings applicable to each. This provides us with the ability to test locally, in a UAT environment and have production separated entirely.
We made use of AWS developer tools such as CodeCommit, CodeBuild, CodeDeploy and CodePipeline. This allowed us to host our entire infrastructure and code within the same environment, reducing the need to configure across different hosting platforms.