GraphQL will be used as the public API for the data persistence layer. It communicates nicely with all other languages and can provide API responses in the format specified in the request. GraphQL
PostGreSQL was chosen for the data persistence layer for the front end because of it's capability for handling complex queries, it's portability, and scalability. PostgreSQL
Docker containers will be hosted and run on a single Amazon EC2 instance. This will likely be the t2.small or t2.medium instance type as listed here: https://aws.amazon.com/ec2/instance-types/Amazon EC2