AWS resources dashboard

My team and I were tasked with building a web-based dashboard for AWS. This dashboard would allow developers to log in using their BubbleCorp credentials, and, once authenticated, create new CloudFormation environments, as well as visualize the status of each individual resource within a CloudFormation stack.

The application itself is fairly involved, so we will focus on a subset of it: interfacing with the necessary AWS services, in order to gather information about the status of each individual resource in a given CloudFormation stack.

Once it has been finished, this is what our simplified dashboard will look like:

It will display the ID, the type, and the current status of each resource. This might not seem like much right now, but given that all of this information is coming from different, independent web services, it would be far too easy to end up with unnecessarily complex code.

We will be using ClojureScript for this, and therefore, the JavaScript version of the AWS SDK[1].

Before we get started, let's take a look at each of the AWS APIs that we will be interacting with.

In reality, we will not be interacting with the real AWS services, but rather, a stub server provided for download from the book's GitHub repository. This will make following the chapter easier, as you won't need to create an account or generate an API access key to interact with AWS. Additionally, creating resources incurs costs, and the last thing that I want is for you to be charged hundreds of dollars at the end of the month because someone accidentally left resources running for longer than they should (trust me, this has happened before).