Architecture
[1] Web application / Control plane
This component includes the web applications for the frontend and the backend of the service.
  • ALB: Distributes the traffic to EC2 instances where the containerised applications are hosted.
  • Nginx: Acts as an API gateway for each EC2 instance.
  • NextJS: Frontend application that communicates with the backend server and renders the response.
  • Flask: Backend server that communicates with the database as well as AWS services that run in the background, such as SQS queues and Lambda functions.