Giter Site home page Giter Site logo

bretthacker / wutnu Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 7.0 7.24 MB

Azure demo app, features a URL shortener, using Azure storage blob and queues, SAS tokens, AAD/B2C auth, Web Apps with Webjobs, Redis Cache, and Azure SQL DB.

Home Page: https://wut.nu/

License: Apache License 2.0

C# 15.16% CSS 4.49% JavaScript 76.39% HTML 3.11% PowerShell 0.19% Batchfile 0.20% TSQL 0.30% ASP.NET 0.16%

wutnu's Introduction

WutNu - Mother of All Azure Demos (MOAAD)

Quick Start

Overview

This app is designed as a multi-purpose Azure demo, utilizing:

  • Web Apps
  • Web Jobs
  • Azure Storage (blobs and queues)
  • Storage SAS tokens
  • Azure SQL DB
  • Azure Redis Cache
  • Azure Active Directory/B2C

Azure AD Integration Demo

The app presents as a general purpose URL shortener. Logging in enables shortened links to require a login from AAD before they are lengthened. Social accounts are enabled via AAD B2C, and work accounts are enabled via AAD user accounts and optionally, accounts linked via AAD B2B.

For the Azure Active Directory settings, please see the following articles for details:

For your primary AAD, create a group named "WutNuAdmins" and add any users that need access to the error logs.

Storage and Web Jobs Demo

Files are uploadable via the web portal - each authenticated user gets a blob storage container in the designated storage account, linked to their login. These uploaded files can then be shortened, and the shortened URLs can be protected behind a login so they can't be lengthened until the person authenticates. Finally, queues are used to audit the URL lengthening. PowerBI embedded integration is on the roadmap.

Console Transfer Utility

User accounts have a rudimentary "API Key" generated that is associated with their blob container. The "BlobCopy" project is a simple console app that allows list/put/get operations against the container associated with the api key (kept in the settings file). The utility makes an API call and, for put and get operations, gets a SAS token to upload and download directly to blob storage.

Powershell Automation

Included in the repo is ARMDeployment.ps1. This script can be downloaded and run locally. It will allow you to set your variables in script then execute the ARM deployment against this GitHub repo.

Sample Code

  • This is sample code - it's strictly a proof of concept.

wutnu's People

Contributors

bretthacker avatar bretthackermsft avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.