SkillShare Logo
STEP 1 OF 7 · SETUP

Install the Software

Set these five tools up once and everything else in this guide just works. Each comes from its official site — links included. Total time: about 20–30 minutes.

01 — RUNTIME

Node.js (with npm)

Node lets you run JavaScript outside the browser — it powers your backend and all the build tools. npm (the package manager) comes bundled with it.

Download the LTS version (20 or 22) from nodejs.org. The installer is the simplest path; if you want to switch versions easily later, use nvm (macOS/Linux) or nvm-windows.

bash
$ node --version   # should print v20.x or v22.x
$ npm --version    # bundled with Node
02 — PACKAGES

A Package Manager: npm or Bun

This is how you install libraries (Express, TypeORM, Nodemailer…). npm already works. Bun is an incredibly fast, modern all-in-one alternative.

You can use plain npm(bundled with Node.js) everywhere in this guide. If you'd like a modern, ultra-fast setup, we highly recommend installing Bun from bun.sh:

optional
# Install Bun (macOS, Linux, & WSL)
$ curl -fsSL https://bun.sh/install | bash

# Install Bun (Windows PowerShell)
$ powershell -c "irm bun.sh/install.ps1 | iex"

# Verify installation
$ bun --version
Tip
Everywhere this guide writes npm install [package], bun add [package] or bun install works identically and runs up to 30x faster.
03 — EDITOR

A Code Editor: VS Code

Where you'll write everything. It integrates with every tool in this stack.

Download Visual Studio Code from code.visualstudio.com. Then install these extensions (open the Extensions panel and search by name):

  • Tailwind CSS IntelliSense — autocomplete for utility classes.
  • Biome — formatting + linting, see biomejs.dev.
  • ESLint — if your scaffold uses ESLint instead of Biome.
  • Prisma / SQL tools are optional; we use TypeORM, which needs no special extension.
Quality of life
Turn on Format on Save(Settings → search "format on save"). Your code tidies itself every time you save.
04 — VERSION CONTROL

Git

Tracks changes to your code and lets you push it to GitHub. Required for deployment later.

Install from git-scm.com, then set your identity once:

bash
$ git --version
$ git config --global user.name "Your Name"
$ git config --global user.email "you@example.com"
Tip
Create a free account at github.com now — you'll push your project there before deploying.
05 — CONTAINERS

Docker Desktop

The cleanest way to run PostgreSQL locally without installing it directly on your machine (not required if you choose MongoDB Atlas).

Download Docker Desktop from docker.com, install it, and launch it. Wait until the whale icon shows "running" before continuing. Verify:

bash
$ docker --version
$ docker run hello-world   # quick "is it working?" test
Windows users
Docker Desktop needs WSL 2. If prompted, follow the in-app link to enable it, then restart. On Windows Home this is fully supported.
06 — EMAIL ACCOUNT

An SMTP Inbox for Testing

Verification and low-stock emails go out over SMTP (the standard email-sending protocol). While developing, you don't want to spam a real inbox — use a test inbox that catches everything.

Mailtrap SandboxRECOMMENDED · DEV

Create a free Mailtrap Use a sandbox inbox to safely capture your app emails. Copy the SMTP Host, Port, Username, and Password from the “SMTP Settings” section for later configuration.

Gmail App PasswordREAL EMAIL · GMAIL

To send to real inboxes via Gmail, enable 2-Step Verification and create an App Password. Use that 16-character password as your SMTP password — never your normal one.

You'll use these in Step 4
Keep the SMTP host, port, username, and password handy. They go into your backend's .env file on the Authentication page — never hard-code them.
07 — CHECKPOINT

Verify Everything

Run these commands. If each prints a version, you're ready for the next step.

final check
$ node --version     # v20.x / v22.x
$ bun --version      # 1.x (optional, if using Bun)
$ git --version      # 2.x
$ docker --version   # 27.x and Docker Desktop running
  • Node + npm (or Bun) installed and on your PATH
  • VS Code open with the Tailwind & Biome extensions
  • Git configured with your name & email
  • Docker Desktop running (whale icon green)
  • A Mailtrap inbox (or Gmail App Password) ready