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.
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.
$ node --version # should print v20.x or v22.x
$ npm --version # bundled with NodeA 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:
# 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 --versionnpm install [package], bun add [package] or bun install works identically and runs up to 30x faster.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.
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:
$ git --version
$ git config --global user.name "Your Name"
$ git config --global user.email "you@example.com"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:
$ docker --version
$ docker run hello-world # quick "is it working?" testAn 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.
.env file on the Authentication page — never hard-code them.Verify Everything
Run these commands. If each prints a version, you're ready for the next step.
$ 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