Lesson 6.7: Surface TableStorageReadRepository to Game Services

Our Table repository is complete and tested, so now we need to surface this new repository to our game services. We will continue to follow the pattern we used throughout this chapter: create typed repository builders and add mapping data to the RepositoryFactory to get these new instances. However, because we are starting to get … Continue reading Lesson 6.7: Surface TableStorageReadRepository to Game Services

Lesson 6.6: Create Table Storage Repository

Now that we have our game data in Azure Table Storage, we need a mechanism for loading that data into our services. To support this, we will implement a new instance IReadableRepository that encapsulates all of the logic for fetching data from Table Storage. The TableStorageReadRepository will follow the pattern that we developed for InMemoryReadRepository … Continue reading Lesson 6.6: Create Table Storage Repository

Lesson 6.4: Refactor Services to Consume Multiple Repositories

In the previous lesson, we created a new BlobStorageReadRepository and exposed various typed instances of it through our RepositoryFactory. Today, we are going to update our FunctionServiceHelper to switch between target repositories based on a query string parameter. This will allow us to easily test our game services using different back end Azure storage solutions. … Continue reading Lesson 6.4: Refactor Services to Consume Multiple Repositories

Lesson 5.18: The Wrap

Over the course of this chapter we learned quite a bit of new technology and patterns. This chapter really focused on taking our SimpleRPG game to production in Azure and learning how to use Azure Function to build RESTful web services. We moved our game from a single, self-contained unit to retrieving game data from … Continue reading Lesson 5.18: The Wrap

Lesson 5.16: Redeploy SimpleRPG Game to New Storage Account

Our game is now dependent on our Azure Function web services. All of the local game data has been deleted, so the game no longer runs standalone, and it will not launch if it doesn't have an internet connection during startup. However, since we load and cache the game data from the web services at … Continue reading Lesson 5.16: Redeploy SimpleRPG Game to New Storage Account

Lesson 5.15: Retrieve Remaining Game Data from Services

Lesson 5.14 laid out the detailed description of the changes required to update ItemFactory to fetch ItemTemplate data from our game services. In this lesson, we're going to update the remaining factories to provide the same functionality. We will use the same patterns we did for ItemFactory and make use of the GameServiceClient to communicate … Continue reading Lesson 5.15: Retrieve Remaining Game Data from Services

Lesson 5.14: Use Service Client to Retrieve ItemTemplates From Game Services

In this lesson, we will refactor the ItemFactory to use the GameServiceClient to load item data from our game services rather than from the local resource file. We will fetch the ItemTemplates during the application startup so that any latency is part of the launch. We already have loading logic and a progress indicator at … Continue reading Lesson 5.14: Use Service Client to Retrieve ItemTemplates From Game Services

Lesson 5.13: Build Reusable Service Client for Game Engine

After spending most of this chapter working to create our game services, we are going to return to the SimpleRPG game engine. We want to replace our local game data files with requests to our game services. That way we can retrieve updated data from the services and cache it locally for the running game … Continue reading Lesson 5.13: Build Reusable Service Client for Game Engine

Lesson 5.12: Create CD Pipeline for Azure Functions App

In lesson 5.3, we set up a continuous delivery pipeline for our SimpleRPG game Blazor app. We also need to set up a deployment pipeline for our game services. This pipeline will release the latest game services build to our Azure account and Functions App resource. The specific steps of this deployment script will be … Continue reading Lesson 5.12: Create CD Pipeline for Azure Functions App

Lesson 5.11: Create CI Pipeline for Azure Functions Project

Early in our development of the SimpleRPG game project, we set up a continuous integration pipeline to automate our build with every repo check-in. Now we are going to set up another pipeline for our game services. Since the services are in their own repository and solution and have different deployment requirements, we will need … Continue reading Lesson 5.11: Create CI Pipeline for Azure Functions Project