Skip to content

An ASP.NET Core container based application that runs in Azure. Powered by ASP.NET Core 3.0, Docker Containers, Azure Container Registry, Azure Logic App, Azure Functions, Azure Web App, Azure Storage (Queue, Table and Blob Storages) services. Written in Visual Studio Code. ARM Templates are included

Notifications You must be signed in to change notification settings

kravchenya/LomographyStore

Repository files navigation

.NET Sample Reference Application

An ASP.NET Core native Azure cloud application which demonstrates abilities of such Azure services as Azure Web Sites, Azure Logic App, Azure Function, Azure Storage, Azure Cosmos DB, Azure Resource Manager (PaaS and SaaS) and Azure Container Registry.

Architecture overview

The application consists of APS.NET Core web-site which is hosted in Azure Web Sites. Back-end part (.NET Core Web API) of the web-site is hosted in Azure Web Sites as well. Textual product related data is stored in a Azure CosmosDB, where graphical product information is stored in container (blobs) in Azure Storage. When an order is completed, information about it will be placed first in a Storage's queue. Then an Azure Logic App dequeues items from the queue and invokes Azure Function which creates an entry in a Storage table (order history). Azure Logic App also creates a file with order data in Storage's file.

ARM Template

Getting Started with ARM template

In order to use ARM Template the following steps would need to do done

  • Create docker images for 3 projects
    • LomographyStoreFuncs
    • LomographyStoreWeb
    • LomographyStoreApi
  • Create a Resource Group with Container Registry in Azure
  • Deploy the docker images to Azure Container Registry
  • In ARM template provide username (variable "dockerregistry_username) and passwort (variable "dockerregistry_password") to access Container Registry, docker images names (variables "dockerimage_lomostoreapi", "dockerimage_lomostorefuncapp" and "dockerimage_lomostoreweb") and a login server link (variables "dockerregistry_domane" and "dockerregistry_url")
  • After deploying main template, you would need to deploy logic app template

After all steps are done, you will get a turnkey application with configured environment and code deployed to respective services.

Notes

This project was created bases on a course by Matt Milner on LinkedIn Learning. In addition to the course I refactored the code, wrote unit tests, introduced docker containers and added their support to ARM templates

About

An ASP.NET Core container based application that runs in Azure. Powered by ASP.NET Core 3.0, Docker Containers, Azure Container Registry, Azure Logic App, Azure Functions, Azure Web App, Azure Storage (Queue, Table and Blob Storages) services. Written in Visual Studio Code. ARM Templates are included

Topics

Resources

Stars

Watchers

Forks