Creating a minimal API with ASP.NET Core that interacts with AWS DynamoDB

In this blog post, we will guide you through the process of creating a simple .NET 7 API that interacts with DynamoDB. Additionally, we will integrate our SlackBot console application, which we introduced in a previous blog post, to enable calling and retrieving information within Slack. If you haven’t read the previous blog post, you can find it here: “How to Create a Custom Slack Bot with .NET 7“.

Before we dive into the details, it’s important to note that we could have created everything within the SlackBot console application. If you prefer that approach, feel free to do so. However, in this post, we are creating a separate Web API to allow for future integration with front-end applications, rather than solely relying on the SlackBot console application.

In this post, we are going to cover creating our ASP.NET Core API first. We will then add a ping endpoint to ensure our Web API is working as expected. Next, we will create an IAM role in the AWS Management Console, create a DynamoDB table in the AWS Management Console, add the AWSDynamoDB SDK and finally the code needed to call our DynamoDB table in AWS.

Read More »

How to Create a Custom Slack Bot with .NET 7

Welcome, readers!

I am thrilled to launch my new blog series on building a .NET 7 Slack Bot that can interact with AWS Services. In this series, we’ll also walk through the entire process of setting up an AWS Elastic Container Storage (ECS) and a continuous deployment pipeline using GitHub actions.

To make things easy to follow, we’ve divided the series into four separate posts. Here’s what we’ll cover:

    💻 Creating a .NET 7 console application as a SlackBot

    🚀 Creating a minimal API with ASP.NET Core that interacts with AWS DynamoDB

    🔧 Create an AWS ECS cluster and sett up GitHub actions to deploy to our AWS cluster. 

In this first post, we’ll dive into creating the .NET 7 console application. We’ll be leveraging a 3rd party library developed by Simon Oxtoby to simplify the Slack integration process. Along the way, we’ll guide you through the setup of creating a Slack integration and show you how to implement a simple ping command in our application to verify that everything is functioning as it should.

So, buckle up, grab your favourite beverage, and let’s dive into the exciting world of .NET 7 Slack Bot development!

Read More »

Using Playwright and the WebApplicationFactory To Test Your Blazor Application

There are many posts around Playwright .NET. These cover set up and running it against hosted sites.

What I didn’t find many posts on, was running Playwright .NET using Microsofts WebApplicationFactory. Why? Because it isn’t as simple as implementing the WebApplicationFactory with Playwright .NET and hitting run.

I’ll show how you can create a CustomWebApplicationFactory that will allow you to run your Playwright .NET tests locally using the WebApplicationFactory in .NET 6.

Before getting into the post, I want to give a shout out to Martin Costello. By viewing his solution in GitHub I was able to get my solution working and to write up this post.

Read More »

Playwright for .NET

I’ve been investing time in researching different end to end testing frameworks. I have been looking for an automation framework that is reliable, fast, cross-browser, and easy to develop. 

Playwright’s relatively new testing framework caught my attention. Playwright is a Microsoft owned and developed framework for end to end testing.

While taking time to learn and understand this framework, I thought I would write a series of posts related to it. 

Read More »

Control Plane and Data Plane Architecture

An architect I was recently speaking with at work mentioned an architectural approach to designing our systems to make them highly available and independently scalable based on the resources used. This concept is called control plane and data plane.

The control plane and data plane concept is worth considering if you deal with high traffic volumes where being highly available is a priority.

Read More »

Running Docker Containers from within your .NET Core Application using Docker.DotNet

In the past, I’ve run into trouble running integration tests against docker containers. Let me give you a recent example, I’ve been working with AWS DynamoDB, when it comes to testing, I don’t want to run my integration tests against either a real or a mocked DynamoDB table. It just so happens that AWS provides us with a DynamoDB docker image, this allows us to spin up a local instance of DynamoDB inside a Docker container.

Read More »

AWS DynamoDB – Add and Get Items in .NET Core Using the AWS SDK for .NET

In this blog post we are going to look at the Put and Get DynamoDB operations. First we will look at how to Add ‘Put’ an item onto a DynamoDB table, then cover how we ‘Get’ either a single item or all items from a DynamoDB table.

If you haven’t already read my previous blog post on Creating an AWS DynamoDB Table in .NET Core that is a good place to start. We covered creating a DynamoDB client and assigned Access and Secret keys to the client. We then used the client to create a DynamoDB table.

Let’s start this post by looking at DynamoDBs PutItem.

Read More »

DynamoDB – Creating Tables Using the AWS SDK for .NET in .NET Core

Amazon Web Services (AWS) is a cloud services platform, they offer compute power, database storage, content delivery and other functionality that help users build and host infranstatuce.

This blog post is the first part of a series where I will go through how to interact with different components that AWS offer.

The first part of the series will look at DynamoDB, this series will also be broken into separate parts so each blog post will focus on one or two pieces of functionality from each feature.

In this blog we will be looking at creating a DynamoDB client, then using that client to create a DynamoDB Table.

Read More »

Transitioning from QA to Development

Last year, I made the move from QA to Development. I had been a QA for a number of years and due to a number of reasons, I felt like I needed a change.

While I knew the change was going to require dedication and effort, I didn’t quite realise how hard it was going to be.

I made a few mistakes in my transition. This post goes over those mistakes and then looks how I rectified them. I want to highlight my pitfalls to hopefully help anyone else thinking about changing roles, so they don’t have to make the same mistakes I made.


Read More »