[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.