1. Before you start¶
You'll install a few free tools and confirm you have the right accounts. Do this once.
What you need¶
| Thing | Why | Cost |
|---|---|---|
| A Cloudflare account | Hosts the app, database, and sign-in. | Free tier is enough. |
| A GitHub account | Stores the code; Cloudflare deploys from it. | Free. |
| Node.js 20+ | Needed to build the app and run database commands. | Free. |
| Git | Moves code to GitHub. | Free. |
| A Microsoft 365 tenant (TOTLCOM's) | Provides staff sign-in. You'll need admin help to register an app once. | Already have it. |
| The app's source code | The oncall-scheduler folder. |
You have it. |
Install Node.js¶
- Go to https://nodejs.org.
- Download the LTS version (the big green button). LTS means "long-term support" — the stable one.
- Run the installer and click through with the defaults.
-
Confirm it worked: open a terminal (see below) and type:
You should see something like
v20.x.xor higher. If you see "command not found," close and reopen the terminal, or restart your computer, then try again.
Install Git¶
- Go to https://git-scm.com/downloads and install for your operating system (defaults are fine).
-
Confirm:
How to open a terminal¶
A "terminal" is a window where you type commands.
Press the Start button, type PowerShell, and click Windows PowerShell. (Command Prompt also works.)
To go to the project folder, type cd then the path, for example:
Paste into a terminal
In PowerShell you usually paste with a right-click or Ctrl+V. In macOS Terminal it's Cmd+V. Every code box on this site has a copy button in its top-right corner — click it, then paste.
Install the project's dependencies¶
Once you're in the oncall-scheduler folder in a terminal, run:
This downloads everything the app needs (including wrangler, Cloudflare's command-line tool, which the rest of this guide uses). It can take a couple of minutes the first time.
Note
You don't have to install wrangler separately — it comes with the project. Throughout this guide we run it with npx wrangler …, which uses the copy that npm install just placed in the project.
When npm install finishes without red error text, move on to the next page.