Coder Social home page Coder Social logo

azure-samples / gov-intelligent-mission Goto Github PK

View Code? Open in Web Editor NEW
14.0 19.0 15.0 3.5 MB

A sample app to support the Intelligent Mission leveraging Azure Government

Home Page: https://intelligent-mission.azurewebsites.us/

License: MIT License

C# 45.73% HTML 27.99% TypeScript 24.17% JavaScript 0.93% CSS 1.19%
azure-government

gov-intelligent-mission's Introduction

languages page_type products description
javascript
csharp
sample
azure
azure-cognitive-services
The Intelligent Mission app is intended to demonstrate how organizations can use Cognitive Services in a Government-focused scenario.

Intelligent Mission

The Intelligent Mission app is intended to demonstrate how organizations can use Cognitive Services in a Government-focused scenario. The Intelligent Mission app can be seen in this Channel 9 video (though not a complete demo).

The target environment for this solution is Azure Government.

The solution includes:

  • Face Detection
  • Face Identification (i.e., Recognition)
  • Object recognition in images
  • OCR in images
  • Sentiment Analysis
  • Text Translation
  • Speaker Identification

Other technologies include:

  • Azure Active Directory
  • Azure Blob Storage
  • Azure Cosmos DB
  • ASP.NET Core
  • Angular 4

Building and Running the Solution

The solution is divided into 2 major areas:

  • IntelligentMission.Web - This is an ASP.NET Core project that hosts the website, provides the Web API for the UI, and Authentications with Azure Active Directory.
  • intelligent-mission-mg - This is an Angular app (originally generated with the Angular CLI, so make sure you already have the Angular CLI installed).
npm install -g @angular/cli

To build and run the solution locally:

First, build the Angular project:

cd intelligent-mission-ng
npm install
ng build --prod

The .angular-cli.json file contains: "outDir": "../IntelligentMission.Web/wwwroot" - this builds the Angular project and puts it in the wwwroot folder of the ASP.NET Core project.

At this point, you can Build the ASP.NET Core project (which will of course restore the NuGet packages).

You need to provision the following Azure services (preferably using Azure Government) - recommend putting all of these in the same Resource Group (Note: on our backlog is to provide an ARM template to automate the provisioning of these Azure resources):

  • Azure Storage Account
  • Azure Cosmos DB
  • Azure AD App Registration
  • Azure Web App
  • Cognitive Services Account for Face API
  • Cognitive Services Account for Computer Vision
  • Cognitive Services Account for Translation
  • Cognitive Services Account for Text Analytics (not yet available in Azure Government, use commercial Azure for this one)
  • Cognitive Services Account for Speaker Recognition (not yet available in Azure Government, use commercial Azure for this one)

Before running the app, you will notice that the appsettings.json file contains many values specified as "<enter-value>". We utilize the ASP.NET Core Secret Manager to prevent sensitive values from being checked into source control.

If using Visual Studio, right-click on the web project and select "Manage User Secrets" - fill in secrets.json with the appropriate values from your provisioned resources in Azure:

{
  "Authentication:AzureAd:ClientId": "your-ad-app-registration-client-id",
  "Authentication:AzureAd:Domain": "your-ad-tenant-domain.onmicrosoft.com",
  "Authentication:AzureAd:TenantId": "your-ad-tenant-id",
  "IntelligentMissionConfig:Keys:TextTranslationKey": "your-text-translation-key",
  "IntelligentMissionConfig:Keys:TextAnalyticsKey": "your-text-analytics-key",
  "IntelligentMissionConfig:Keys:SpeakerRecognitionKey": "your-speaker-recognition-key",
  "IntelligentMissionConfig:Keys:FaceApiKey": "your-face-api-key",
  "IntelligentMissionConfig:Keys:ComputerVisionApiKey": "your-computer-vision-key",
  "IntelligentMissionConfig:Keys:VideoApiKey": "your-video-api-key",
  "IntelligentMissionConfig:StorageConfig:AccountName": "your-storage-account-name",
  "IntelligentMissionConfig:StorageConfig:AccountKey": "your-storage-account-key",
  "IntelligentMissionConfig:StorageConfig:EndpointSuffix": "core.usgovcloudapi.net",
  "IntelligentMissionConfig:DocDbConfig:EndpointUri": "your-cosmos-db-endpoint",
  "IntelligentMissionConfig:DocDbConfig:PrimaryKey": "your-cosmos-db-primary-key",
}

For simplicity, you can deploy to Azure by right-clicking Web project and selecting "Publish" to go through the standard Visual Studio Azure publish process.

Before running in Azure, make sure your have created Environment Variables (via App Settings in your Azure Web App) that correspond to all the User Secrets values.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

gov-intelligent-mission's People

Contributors

gsacavdm avatar luyunmt avatar microsoftopensource avatar msftgits avatar smichelotti avatar supernova-eng avatar yujhongmicrosoft avatar

Stargazers

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

Watchers

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

gov-intelligent-mission'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.