<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Timileyin Ikumapayi</title>
    <description>The latest articles on Forem by Timileyin Ikumapayi (@timileyin).</description>
    <link>https://forem.com/timileyin</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1873992%2F7cc632a7-2303-4bbc-8d90-b37af6912c96.png</url>
      <title>Forem: Timileyin Ikumapayi</title>
      <link>https://forem.com/timileyin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/timileyin"/>
    <language>en</language>
    <item>
      <title>Cloud Security with AWS IAM</title>
      <dc:creator>Timileyin Ikumapayi</dc:creator>
      <pubDate>Wed, 27 Nov 2024 14:57:26 +0000</pubDate>
      <link>https://forem.com/timileyin/cloud-security-with-aws-iam-3do6</link>
      <guid>https://forem.com/timileyin/cloud-security-with-aws-iam-3do6</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is AWS IAM?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS IAM (Identity and Access Management) is a service to securely manage access to AWS resources. It enables user, group, and role management with fine-grained permissions, MFA, and federated access. IAM ensures security, scalability, and compliance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I’m using AWS IAM in this project&lt;/strong&gt;&lt;br&gt;
I used AWS IAM to create a user so a new user can use our account to work on the services set in the Policy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One thing I didn’t expect…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is a good project, a little tasking&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This project took me…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I spent over an hour on this project&lt;/p&gt;

&lt;p&gt;Launching EC2 Instance&lt;/p&gt;

&lt;p&gt;I launched two instances, one for development and the other for production.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frh5o7xpsbaipzzrmy8rr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frh5o7xpsbaipzzrmy8rr.png" alt="Launch Instance" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxvfd0y0dphlljw7pucx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxvfd0y0dphlljw7pucx.png" alt="Instance Launch" width="800" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tags&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tags are like labels you can attach to AWS resources for organization This tagging helps us with identifying all resources with the same tag at once (they are useful filters when you’re searching for something), cost allocation, and applying policies&lt;/p&gt;

&lt;p&gt;The tag I’ve used on my EC2 instances is called Env (short for Environment). The value I’ve assigned for my instances I called it Development and Production&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IAM Policies&lt;/strong&gt;&lt;br&gt;
An IAM policy is a rule for who can do what with your AWS resources. It’s all about giving permissions to IAM users, groups, or roles, saying what they can or can’t do on certain resources, and when those rules kick in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The policy I set up&lt;/strong&gt;&lt;br&gt;
For this project, I set up a policy using JSON on the AWS management console.&lt;/p&gt;

&lt;p&gt;I created a policy that allows all actions that you could possibly take on EC2 instances!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When creating a JSON policy, you have to define its Effect, Action and Resource.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The attributes of a JSON policy are&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Effect:&lt;/strong&gt; to indicate whether the policy allows or denies a certain action.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Action:&lt;/strong&gt; A list of the actions that the policy allows or denies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resource:&lt;/strong&gt; Which resources does this policy apply to.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6b7brd1rgghs5m2dkrx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6b7brd1rgghs5m2dkrx.png" alt="JSON Policy" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My JSON Policy&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs944hfd9mfmj4cxsph8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs944hfd9mfmj4cxsph8x.png" alt="JSON Policy" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Account Alias&lt;/strong&gt;&lt;br&gt;
An account alias is a friendly name for your AWS account that you can use instead of your account ID (which is usually a bunch of digits) to sign in to the AWS Management Console.&lt;/p&gt;

&lt;p&gt;Creating an account alias took me about 10–15 mins… Now, my new AWS console sign-in URL is &lt;a href="https://alias-timi.signin.aws.amazon.com/console" rel="noopener noreferrer"&gt;https://alias-timi.signin.aws.amazon.com/console&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzd49skt4djehl9fo36z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzd49skt4djehl9fo36z.png" alt="Account alias" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81naqk34x771v5fuqero.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81naqk34x771v5fuqero.png" alt="Account alias" width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IAM Users and User Groups&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Users&lt;/strong&gt;&lt;br&gt;
IAM users are the people that will get access to your resources or AWS account, whereas user groups are the collections or folders of users for easier user management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Groups&lt;/strong&gt;&lt;br&gt;
An IAM user group is a collection or folder of IAM users. It allows you to manage permissions for all the users in your group at the same time by attaching policies to the group rather than individual users.&lt;/p&gt;

&lt;p&gt;I attached the policy I created to this user group, which means that all users in the group will have the permissions set in the policy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxepbqedzcyk1t1xl4jfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxepbqedzcyk1t1xl4jfc.png" alt="user policy" width="800" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbqk083ltqywgmkg18c7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbqk083ltqywgmkg18c7.png" alt="user group" width="659" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logging in as an IAM User&lt;/strong&gt;&lt;br&gt;
The first way is to download the .csv file contain the sign-in URL, username and console password. The second way is to send the Email sign-in instructions, or just do it manually like an old person and share the details.&lt;/p&gt;

&lt;p&gt;Once I logged in as a new IAM user, I noticed I do not have access to other services apart from the EC2 instances. This is because I did not give the user access to it in the policy created in the user group.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz8j6ktp28wtyfyuqd64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz8j6ktp28wtyfyuqd64.png" alt="IAM user logIn" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing IAM Policies&lt;/strong&gt;&lt;br&gt;
I tested my JSON IAM policy by trying to stop both instances, I was able to stop only the development instance cause that is the one I have access to as specified in the JSON policy and not the production instance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stopping the production instance&lt;/strong&gt;&lt;br&gt;
When I tried to stop the production instance there was an big error. This was because we’re not authorized! We don’t have permission to stop any instance with the production tag.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv82p5l1rmd0s8czdawfa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv82p5l1rmd0s8czdawfa.png" alt="Stopping Instance failure" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing IAM Policies&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Stopping the development instance&lt;/strong&gt;&lt;br&gt;
Next, when I tried to stop the development instance I was success and it stopped without any issue. This was because in the policy attached to the user group specifically allows all access to the development instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntj1thdh8a3jgo6ytgtw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntj1thdh8a3jgo6ytgtw.png" alt="Stopping instance success" width="800" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remember to delete all resources so as to avoid being charged at the end of the month&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Building a Chatbot with Amazon Lex</title>
      <dc:creator>Timileyin Ikumapayi</dc:creator>
      <pubDate>Wed, 27 Nov 2024 14:39:39 +0000</pubDate>
      <link>https://forem.com/timileyin/building-a-chatbot-with-amazon-lex-1a0c</link>
      <guid>https://forem.com/timileyin/building-a-chatbot-with-amazon-lex-1a0c</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfl1e9v36n91gv3k1dcs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfl1e9v36n91gv3k1dcs.png" alt="TESTING THE CHATBOT" width="380" height="555"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Introducing Today’s Project!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Amazon Lex?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon Lex is a service by AWS for building conversational interfaces and chatbots that use natural language understanding (NLU) and automatic speech recognition (ASR). This lets you build voice- or text-based chatbots that can understand and respond&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I used Amazon Lex in this project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used Amazon Lex to create a BankerBot that can answer the questions of the users accurately and efficiently&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One thing I didn’t expect in this project was…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One thing I didn’t expect in this project is how easy it is to use Amazon Web Services to create a fully functioning Bot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This project took me…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I spent a little over an hour on this project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting up a Lex chatbot&lt;/strong&gt;&lt;br&gt;
I created my chatbot from scratch with Amazon Lex. Setting it up took me about 10 mins.&lt;/p&gt;

&lt;p&gt;While creating my chatbot, I also created a role with basic permissions because I will need it later to call other AWS services on my behalf, later in this project series I will need to integrate Lex with another service called Lambda!&lt;/p&gt;

&lt;p&gt;In terms of the intent classification confidence score, I kept the default value of 0.40.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kmeyl8ps55dbitmzutx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kmeyl8ps55dbitmzutx.png" alt="Image description" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intents&lt;/strong&gt;&lt;br&gt;
An intent is what the user is trying to achieve in their conversation with the chatbot. For example, checking a bank account balance; booking a flight; ordering food.&lt;/p&gt;

&lt;p&gt;I created my first intent, WelcomeIntent, to welcome a user when they say hello.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnm794nskspmz0a28lq3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnm794nskspmz0a28lq3i.png" alt="WelcomeIntent-1" width="800" height="245"&gt;&lt;/a&gt;&lt;br&gt;
Part 1- WelcomeIntent&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffhswm2fi6xnd81zczbb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffhswm2fi6xnd81zczbb.png" alt="WelcomeIntent-2" width="800" height="304"&gt;&lt;/a&gt;&lt;br&gt;
Part 2 — WelcomeIntent&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnl1dj0dmfl4ufvzrhv7z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnl1dj0dmfl4ufvzrhv7z.png" alt="Test WelcomeIntent" width="380" height="555"&gt;&lt;/a&gt;&lt;br&gt;
Test- WelcomeIntent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FallbackIntent&lt;/strong&gt;&lt;br&gt;
My chatbot returned the error message &lt;code&gt;Intent FallbackIntent is fulfilled&lt;/code&gt; when I entered any other sentences. This error message occurred because the bot was not trained to understand it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi52d30ffcbup8ua8aw3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi52d30ffcbup8ua8aw3.png" alt="FallbackIntent" width="800" height="273"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configuring FallbackIntent&lt;/strong&gt;&lt;br&gt;
FallbackIntent is a default intent in every chatbot that gets triggered when it does not understand what the user sent (users’ request)&lt;/p&gt;

&lt;p&gt;I wanted to configure FallbackIntent so the user will know the bot does not understand their request instead of the default response which is hard to understand.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futvvmr6dadajhx55y4ji.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futvvmr6dadajhx55y4ji.png" alt="ClosingResponse FallbackIntent" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Variations&lt;/strong&gt;&lt;br&gt;
To configure FallbackIntent, I navigated to FallbackIntent section, and edited the Closing Response, and inputted the response I would prefer and added some variations to it as well&lt;/p&gt;

&lt;p&gt;I also added variations! What this means for an end user is that they can get more than one type of responses when the bit does not understand their request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2l4qtcaoyjwjurmam5pb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2l4qtcaoyjwjurmam5pb.png" alt="Image description" width="380" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Slots&lt;/strong&gt;&lt;br&gt;
Slots are pieces of information that a chatbot needs to complete a user’s request. They are like blanks that need to be filled in a form.&lt;/p&gt;

&lt;p&gt;Here, I created a custom slot type to get the user’s bank account type&lt;/p&gt;

&lt;p&gt;This slot type has restricted slot values, which means that only the values specified will count as a valid accountType.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw8u8uxcmzl004ngn8f1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw8u8uxcmzl004ngn8f1n.png" alt="Slots" width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does this selection mean?&lt;/strong&gt;&lt;br&gt;
Selecting Restrict to slot values makes sure that only the values that you specify will count as a valid accountType!.&lt;br&gt;
Otherwise, Amazon Lex will use machine learning to accept other values that it sees users constantly entering..&lt;br&gt;
Different use cases will require different settings, but our BankerBot will only offer customers 3 types of accounts, we don’t want Amazon Lex to recognise any alternatives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating the slot&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now let’s add the three account types!.&lt;br&gt;
In the Values field, enter Checking.&lt;br&gt;
Select Add value, or just press Enter on your keyboard..&lt;br&gt;
Do the same for Savings.&lt;br&gt;
Enter Credit, and add a few synonyms in the second field.&lt;br&gt;
Press ; on your keyboard after every time you add in a new one:. credit card. visa. mastercard. amex. american express.&lt;br&gt;
Choose Add value to finish up your work for Credit.&lt;br&gt;
Choose Save slot type.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8zsjoq1j2btje587bxx3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8zsjoq1j2btje587bxx3.png" alt="Image description" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connecting slots with intents&lt;/strong&gt;&lt;br&gt;
I associated my custom slot with CheckBalance, which is to check the balance in the specified account type.&lt;/p&gt;

&lt;p&gt;In your left hand navigation panel, head back to Intents..&lt;br&gt;
Choose Add intent, then Add empty intent..&lt;br&gt;
Enter CheckBalance as your intent name.&lt;br&gt;
Choose Add..&lt;br&gt;
Enter the following description in the Intent details panel: Intent to check the balance in the specified account type..&lt;br&gt;
Scroll down to Sample utterances..&lt;br&gt;
Switch to Plain Text and paste in the following utterances:&lt;/p&gt;

&lt;p&gt;What's the balance in my account?&lt;br&gt;
 Check my account balance&lt;br&gt;
 What's the balance in my {accountType} account?&lt;br&gt;
 How much do I have in {accountType} ?&lt;br&gt;
 I want to check the balance&lt;br&gt;
 Can you help me with account balance?&lt;br&gt;
 Balance in {accountType&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fab3tnlmqmbgqfy28mfnb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fab3tnlmqmbgqfy28mfnb.png" alt="Image description" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Slot values in utterances&lt;/strong&gt;&lt;br&gt;
I included slot values in some of the utterances (i.e. user inputs) by putting it in curly braces For example; Balance in {accountType}&lt;/p&gt;

&lt;p&gt;By adding custom slots in utterances, it allowed Amazon lex identify the required answers we are looking for. This means that Amazon Lex is now prepared to look for slot values from the user’s input. If a word fits what’s expected for the accountType slot, Lex will automatically fill in that information and won’t need to prompt the user for their accountType anymore (saving time for the user)!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2civfyinnazpvm8kj1p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2civfyinnazpvm8kj1p.png" alt="Image description" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You might remember that we mentioned the CheckBalance intent should also check for the user’s birthday… let’s create a Slot for the birth date!. Choose Add slot.. Use these values for your next slot:. Name: dateOfBirth. Slot type: AMAZON.Date. Prompts: For verification purposes, what is your date of birth?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjqbj7eexmh6wb37s058.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjqbj7eexmh6wb37s058.png" alt="Add Slots" width="622" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5cidh9f2n8frprrk4fn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5cidh9f2n8frprrk4fn.png" alt="Image description" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose Save intent.. Choose Build — shall we answer some questions while you wait? 👀&lt;/p&gt;

&lt;p&gt;now we are testing:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1r3bz38mr6icdf69o2z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1r3bz38mr6icdf69o2z.png" alt="Image description" width="391" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F967swlujdwxagr3q9pij.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F967swlujdwxagr3q9pij.png" alt="Image description" width="454" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Amazon QuickSight for Data Visualization on Streaming Platforms: A Netflix Case Study</title>
      <dc:creator>Timileyin Ikumapayi</dc:creator>
      <pubDate>Mon, 11 Nov 2024 10:43:54 +0000</pubDate>
      <link>https://forem.com/timileyin/amazon-quicksight-for-data-visualization-on-streaming-platforms-a-netflix-case-study-263c</link>
      <guid>https://forem.com/timileyin/amazon-quicksight-for-data-visualization-on-streaming-platforms-a-netflix-case-study-263c</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Amazon QuickSight?&lt;/strong&gt;&lt;br&gt;
Amazon QuickSight is a cloud-powered business intelligence (BI) and data visualization service offered by AWS. It allows users to easily create and analyse interactive dashboards, reports, and visualizations from various data sources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I used Amazon QuickSight in this project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used it to visualize Tv shows and Movies from Netflix based on some of the grouping and labels from the dataset available. I represented those data in different graphs and tables of my choice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One thing I didn’t expect in this project was…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I did not expect for it to be as fun and tasking. It took longer than expected because of the filter and many options to pick from.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This project took me…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I spent almost 2 hours on it.&lt;/p&gt;

&lt;p&gt;Upload project files into S3&lt;br&gt;
My S3 bucket here is used in this project to store two needed files, which are the manifest.JSON and netflix.csv file&lt;/p&gt;

&lt;p&gt;I created the bucket, using all the default settings and named it “network-quicksight-timi”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvlbuzzh3hkwzfuuoflo4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvlbuzzh3hkwzfuuoflo4.png" alt="Image description" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can downloaded the files here (Link)&lt;/p&gt;

&lt;p&gt;I uploaded both files to the bucket, selected Netflix file and Copied its Object URL, then I edited the manifest.JSON file by opening it in my Notepad and updating the URL with the one copied from my bucket. It’s important to edit this file because you want to get the document to point to the right URL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create QuickSight account&lt;/strong&gt;&lt;br&gt;
Creating a QuickSight account cost nothing, it is totally free to create the account, you only pay for services used.&lt;/p&gt;

&lt;p&gt;Creating an account took me about 10 minutes as there are some vital steps that are needed to be done carefully&lt;/p&gt;

&lt;p&gt;I searched for QuickSight and Signed up for a free trial of the Enterprise edition.&lt;/p&gt;

&lt;p&gt;There are a couple of things to note whilst creating a QuickSight account:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make sure to Uncheck the Add Paginated Reports checkbox so your AWS does not get charged.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F54ixh7ex2qurzziwo1kw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F54ixh7ex2qurzziwo1kw.png" alt="Image description" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ensure the email used is the same as the email on your AWS Account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make sure to select Amazon s3, adding the right bucket that was created earlier.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzkl1bfhgaz5ttgi0esj4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzkl1bfhgaz5ttgi0esj4.png" alt="Image description" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbqthx8wsa1krd0f651d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbqthx8wsa1krd0f651d.png" alt="Image description" width="800" height="231"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I have successfully created a QuickSight account&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkntba74j5pisryexgas.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkntba74j5pisryexgas.png" alt="Image description" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download the Dataset&lt;/strong&gt;&lt;br&gt;
I connected the S3 bucket to QuickSight by visiting the dataset section, clicking on S3 and filling the needed boxes.&lt;/p&gt;

&lt;p&gt;From the left hand navigation bar, I selected Datasets, then New dataset.. Select S3.. For the first field (source name), enter kaggle-netflix-data. I opened a new tab in my browser and navigated to my AWS management console and went to the s3 bucket I created, selected the manifest object and copied the object’s URL. Then, I moved back to the QuickSight page and pasted the URL I just copied and select Connect.&lt;/p&gt;

&lt;p&gt;The manifest.JSON file was important in this step because it is like a map that helps in connecting Quicksight to the S3 bucket and tells QuickSight how to present and visualise the data from the dataset.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem8yrwbdbdaal6lwcrrm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem8yrwbdbdaal6lwcrrm.png" alt="Image description" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My first visualization&lt;/strong&gt;&lt;br&gt;
To create visualizations on QuickSight, I would need to paste the correct object URL to the manifest.JSON file and select the graph I want and how I want it to visualise the available fields and grouping.&lt;/p&gt;

&lt;p&gt;With QuickSight, you can sort, filter, and customise your data top create visualisations. You can also experiment with different types of graphs like bar charts, pie charts, line graphs, etc.. You can see on the left hand panel that the dataset’s fields are already imported.&lt;/p&gt;

&lt;p&gt;To create my first visualization, I dragged Release_year into the Y-Axis heading. Now I can see a breakdown on the year that these Netflix-featured TV shows and movies were released&lt;/p&gt;

&lt;p&gt;To create a new visual, I selected + ADD under the Visuals heading on my middle navigation bar, and another blank frame pop out.&lt;/p&gt;

&lt;p&gt;So I can see a breakdown of TV shows vs movies for every year, I dragged the release_year label into the Y Axis heading. Next, I dragged the type label into the Group/Color heading.&lt;/p&gt;

&lt;p&gt;The donut chart (a type of pie chart) shown below is a breakdown of the release year of Netflix shows while the bar chart shows the records by the Release_year and the type of the Netflix shows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxr9fcpu1vvcu6vpy8euq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxr9fcpu1vvcu6vpy8euq.png" alt="Image description" width="800" height="367"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Using filters&lt;/strong&gt;&lt;br&gt;
Filters are useful for showing the exact grouping and records you would like to see from the dataset.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqorz522t158l4i4xhz88.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqorz522t158l4i4xhz88.png" alt="Image description" width="469" height="600"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;An Image showing The Fields that can be used to filter the data.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This visualization is a breakdown of the TV shows and movies with the listing ‘Action &amp;amp; Adventure’, ‘TV Comedies’, or ‘Thrillers’, how many were released on 2015 or after. Here I added a filter by selecting Release_year (2015–2021) and Genre (Action &amp;amp; Adventure, TV Comedies and Thrillers).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkh6hfxzhjl5k7oib0co.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkh6hfxzhjl5k7oib0co.png" alt="Image description" width="800" height="369"&gt;&lt;/a&gt;&lt;br&gt;
Setting up a dashboard&lt;br&gt;
As a finishing touch, I edited the title of the graphs individually and then I adjusted the size by going to the top right and choosing Fit to Width. Then I Published it and named the dashboard appropriately.&lt;/p&gt;

&lt;p&gt;Did you know you could export your dashboard as PDFs too? I did this by clicking on the Export icon at the top right corner of the screen and chose Generate PDF, then the site did its magic and my dashboard was ready to be downloaded as PDF.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00lr2ugtv14wm6f21f78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00lr2ugtv14wm6f21f78.png" alt="Image description" width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
Here are some of the questions the remaining graphs on my dashboard are answering.&lt;/p&gt;

&lt;p&gt;· A breakdown of TV shows/movies for each release year. Would it be possible to stack movies and TV shows in the same row, so you can visualise the % of each?&lt;/p&gt;

&lt;p&gt;· Now can you show me the same thing in a table? i.e. please show me the number of movies vs TV shows per release year in a table.&lt;/p&gt;

&lt;p&gt;· On what day did Netflix add the largest number of movies/TV shows to their catalogue&lt;/p&gt;

&lt;p&gt;· Of the TV shows and movies featured, how many were listed as ‘Action &amp;amp; Adventure’, ‘TV Comedies’, or ‘Thrillers’? For simplicity, ignore the TV shows and movies that have multiple listings/categories&lt;/p&gt;

</description>
      <category>aws</category>
      <category>quicksight</category>
      <category>datascience</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
