Skip to content

qxsch/HackboxConsole

Repository files navigation

HackBox Console

HackBox Console

A portal for Hackathon participants to access challenges and credentials.

A portal for Hackathon coaches to access challenges, solutions, credentials and unlock challenges for participants.

Solutions and challenges are stored in markdown files.

  • challanges should follow the format: challenge-*.md, f.e. challenge-1.md, challenge-2.md, ...
  • solutions should follow the format: solution-*.md, f.e. solution-1.md, solution-2.md, ...

Thanks to zero-md the markdown files are rendered as HTML with a broad support for markdown syntax:

  • Math rendering via KaTeX
  • Mermaid diagrams
  • Syntax highlighting via highlight.js
  • Language detection for un-hinted code blocks
  • Hash-link scroll handling
  • FOUC prevention
  • Auto re-render on input changes
  • Light and dark themes
  • Spec-compliant extensibility

How to build & Deploy

Deploy the console with the markdown files from the ContosoHotelOpenHack repository

.\iac\deployHackerConsole.ps1 `
    -SourceChallengesDir ..\ContosoHotelOpenHack\challenges\ `
    -SourceSolutionsDir ..\ContosoHotelOpenHack\solutions\ `
    -ResourceGroupName "hackathonconsole" `
    -hackerUsername "hacker" `
    -hackerPassword ("hacker" | ConvertTo-SecureString -AsPlainText -Force) `
    -coachUsername "coach" `
    -coachPassword ("coach" | ConvertTo-SecureString -AsPlainText -Force)

Publish additional credentials to the storage account in this example the name of the credential is Example Password with the (secret) value DontTellAnyone

.\iac\addCredential.ps1 `
    -storageAccountName "storage...." `
    -ResourceGroupName "hackathonconsole" `
    -name "Example Password" `
    -value "DontTellAnyone"