WhatTheHack/005-RockPaperScissorsBoom
..
Coach
Student
images
.wordlist.txt
README.md

README.md

What The Hack - Rock Paper Scissors Boom

Introduction

Rock Paper Scissors Boom is a collaborative competition among developers. It's based on a project idea from a Microsoft Developer Evangelist that was called "Rock Paper Azure".

This server project provides an API that developers can use to develop bots that play the Rock Paper Scissors Boom game.

Rules of the Game:

  • A match is played between two bots and will consist of 100 rounds of Rock-Paper-Scissors
  • Rock beats Scissors
  • Scissors beats Paper
  • Paper beats Rock
  • A dynamite will defeat Rock, Paper, or Scissors played by the opponent.
  • A water balloon will defeat a dynamite.
  • Rock, Paper, and Scissors all beat water balloon.
  • Each bot receives 10 sticks of dynamite to use during a match.
  • All matching choices will be a tie with the same choice by opponent.
  • Each bot may also throw a water balloon whenever it likes.

Learning Objectives

In this hack, we are going to take a web app called "Rock Paper Scissors Boom" and deploy it on Azure! This app is a game server that allows bots to play the classic Rock/Paper/Scissors game. The web app is built on .NET core - it runs on Linux and Windows! The web app is open source and built by DevChatter. This hack's repo was forked from DevChatter's original repo.

Through progressive challenges we will build the web app, deploy it to Azure, monitor it, protect it, enhance and extend it.

At the end, each team will be able to build their own bot and compete with each other.

Technologies

Here are the technologies and services you will leverage:

  • GitHub
  • ASP.NET Core & .NET 6
  • SQL Server on Linux
  • Docker
  • Azure SQL Database
  • Azure App Service Container on Linux
  • Azure Container Registry
  • Azure AD B2C
  • Azure CDN
  • Azure Application Insights
  • Logic Apps
  • Azure Event Grid

Challenges

Prerequisites

  • Your own Azure subscription with Owner access
  • Visual Studio Code
  • Docker
  • NET 6.0 SDK
  • Azure CLI

Contributors

  • Mike Richter
  • Jordan Bean
  • Brian Cheng