Challenge 01 - Setup

Home - Next Challenge >

Pre-requisites

Introduction

The first challenge is to setup an environment that will help you build, run, and test the Tollbooth application locally. We need to make sure everything is working before bringing it to Azure.

Description

To complete this hack, you can set up the pre-requisite developer tools on your local workstation, or you can use GitHub Codespaces.

A GitHub Codespace is a development environment that is hosted in the cloud that you access via a browser. All of the pre-requisite developer tools are pre-installed and available in the codespace.

Setup GitHub Codespace

You must have a GitHub account to use GitHub Codespaces. If you do not have a GitHub account, you can Sign Up Here!

GitHub Codespaces is available for developers in every organization. All personal GitHub.com accounts include a monthly quota of free usage each month. GitHub will provide users in the Free plan 120 core hours, or 60 hours of run time on a 2 core codespace, plus 15 GB of storage each month.

You can see your balance of available codespace hours on the GitHub billing page.

NOTE: Make sure you do not sign in with your enterprise managed Github account.

Your Codespace environment should load in a new browser tab. It will take approximately 3-5 minutes the first time you create the codespace for it to load.

NOTE: It is recommended to enable the suggested C# development extensions when prompted by VSCode after the environment fully loads.

Setup Local Workstation

NOTE: If you are planning to use GitHub Codespaces, skip this section as all pre-reqs will be setup in the Codespace environment.

If you want to set up the developer environment on your local workstation, expand the section below and follow the requirements listed.

Click to expand/collapse Local Workstation Requirements

Set up your local environment:

  • Visual Studio Code (or Visual Studio with Azure development workload)
  • Azure CLI
  • Azure Functions Core Tools
  • Node.js 18+: Install latest long-term support (LTS) runtime environment for local workstation development. A package manager is also required (NPM, installed by default with Node.js) The Azure SDK generally requires a minimum version of Node.js of 18.x. Azure hosting services, such as Azure App service, provides runtimes with more recent versions of Node.js. If you target a minimum of 18.x for local and remove development, your code should run successfully.
  • .NET 8 SDK
  • VS Code Todo Tree Extension
  • Any extensions required by your language of choice

To setup Azure Functions on Visual Studio Code, follow this guide.

Download the student Resources.zip file here, containing the source code and supporting files for this hack. Uncompress the file on your local workstation.

NOTE: What The Hacks are normally run as live events where coaches advise small groups of 3-5 people as they try to solve the hack’s challenges. For the #ServerlessSeptember event, the Microsoft Reactor team is challenging folks to complete the Azure Serverless hack on their own and share their solutions.


Success Criteria

If working on a local workstation:

If using GitHub Codespaces: