GithubHelp home page GithubHelp logo

scottaddie / contosolending Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 6.0 82 KB

An ASP.NET Core 3.1 app showcasing gRPC, server-side Blazor, SignalR, and C# 8.

License: MIT License

C# 56.43% HTML 26.92% CSS 7.64% JavaScript 9.01%
asp-net-core dot-net-core azure-signalr-service azure-functions grpc blazor-server signalr-core

contosolending's Introduction

App overview

This ASP.NET Core 3.1 app represents a loan application processing pipeline. The following table outlines projects found in the solution.

Project Description
ContosoLending.CurrencyExchange gRPC project handling currency conversion
ContosoLending.DomainModel .NET Standard project containing shared models
ContosoLending.LoanProcessing Durable Functions project for handling loan processing
ContosoLending.Ui Server-side Blazor UI project

Setup

Install prerequisites

The following software must be installed:

  1. .NET Core SDK version SDK 3.1.100 or later
  2. Visual Studio 2019 version 16.4 or later with the following workloads:
    1. ASP.NET and web development
    2. Azure development

Provision Azure resources

  1. Open the Azure Cloud Shell in your web browser.

  2. Run the following command to configure your Azure CLI defaults for resource group and region:

    az configure --defaults group=<resource_group_name> location=<region_name>
  3. Run the following command to provision an Azure Storage account:

    az storage account create --name <storage_resource_name>
  4. Run the following command to provision an Azure SignalR Service instance:

    az signalr create --name <signalr_resource_name> --sku Standard_S1 --service-mode Serverless

Configure the Azure Functions project

  1. Create a new local.settings.json file in the root of the ContosoLending.LoanProcessing project with the following content:

    {
      "IsEncrypted": false,
      "Values": {
    	"AzureSignalRConnectionString": "<signalr_connection_string>",
    	"AzureWebJobsStorage": "<storage_connection_string>",
    	"FUNCTIONS_WORKER_RUNTIME": "dotnet"
      },
      "Host": {
    	"CORS": "https://localhost:44364",
    	"CORSCredentials": true,
    	"LocalHttpPort": 7071
      }
    }
  2. From the Azure Cloud Shell, run the following command to get the Azure Storage account's connection string:

    az storage account show-connection-string --name <storage_resource_name> --query connectionString

    Copy the resulting value (without the double quotes) to your clipboard.

  3. Replace "<storage_connection_string>" in local.settings.json with the value on your clipboard.

  4. Run the following command to get the Azure SignalR Service's connection string:

    az signalr key list --name <signalr_resource_name> --query primaryConnectionString

    Copy the resulting value (without the double quotes) to your clipboard.

  5. Replace "<signalr_connection_string>" in local.settings.json with the value on your clipboard.

Testing

  1. Open the solution file (src\ContosoLending.sln).

  2. In Solution Explorer, right-click the libman.json file in the ContosoLending.Ui project > Restore Client-Side Libraries.

  3. In Solution Explorer, right-click the solution name > Properties.

  4. Select the Multiple startup projects radio button, and configure the solution as follows:

    multiple project launch configuration in Visual Studio

  5. Select the OK button.

  6. Select the Start button next to the <Multiple Startup Projects> launch configuration drop-down list.

contosolending's People

Contributors

scottaddie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

contosolending's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.