This is Part 2 of my Express.js Series — setting up a solid foundation before we start writing any backend code.
Whether you're just diving into backend development or setting up a fresh environment, this guide walks you through a clean, scalable Windows development setup tailored for Node.js and Express.js.
Why the Setup Matters
Before jumping into building APIs, it's important to make sure your environment is consistent, efficient, and manageable. A cluttered or misconfigured system can lead to debugging nightmares.
Instead of manually downloading everything, we'll use Chocolatey, NVM for Windows, and curated VS Code extensions to streamline and future-proof your setup.
What We’re Setting Up
By the end of this setup, you’ll have:
- Chocolatey managing your dev tools
- Node.js versions managed cleanly via NVM
- A curated VS Code setup with powerful extensions
- MongoDB tools and CLI
- Git, Postman, a modern browser, and more
Two Ways to Install Software on Windows
Just like macOS, there are two main methods:
Manual Downloads from Websites
(e.g., download VS Code installer from the official site)Command-line Installs with Chocolatey (Recommended)
Automate and simplify your entire setup with repeatable scripts
💡 For devs, I strongly recommend using Chocolatey. It's the Homebrew of Windows.
Installing Chocolatey
Run PowerShell as Administrator and paste this one-liner:
Set-ExecutionPolicy Bypass -Scope Process -Force; `
[System.Net.ServicePointManager]::SecurityProtocol = `
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Confirm it’s working:
choco --version
Installing Tools with Chocolatey
Create a script file or run each command manually in Admin PowerShell:
choco install git -y
choco install vscode -y
choco install postman -y
choco install googlechrome -y
choco install arc-browser -y
choco install warp-terminal -y
choco install mongodb-compass -y
choco install mongodb-database-tools -y
choco install gh -y
choco install bun -y
choco install nvm -y
Some packages may need Chocolatey community extensions enabled. If prompted, just follow instructions or run:
choco feature enable -n allowGlobalConfirmation
In the tutorial, a file named choco-packages.config
was created in the express-app
project directory, located at C:\Users\YourUserName\Documents\express-app\config
.
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="git" />
<package id="gh" />
<package id="bun" />
<package id="nvm" />
<package id="mongodb.install" />
<package id="mongodb-compass" />
<package id="mongodb-atlas" />
<package id="postman" />
<package id="vscode" />
</packages>
Install all packages with the command:
choco install C:\Users\YourUserName\Documents\express-app\config\choco-packages.config\choco-packages.config
Managing Node the Right Way: Use NVM
Why not use the global Node installer?
Global installs can lead to version conflicts, especially when tools like MongoDB CLI bring their own Node dependencies.
NVM for Windows is better.
NVM lets you manage multiple Node.js versions side by side and switch between them effortlessly.
Steps to Use NVM (After Chocolatey Installs It)
Open Command Prompt (not PowerShell) and run:
nvm install 20.12.2
nvm use 20.12.2
nvm list
Switch versions:
nvm install 18.17.0
nvm use 18.17.0
Remove a version:
nvm uninstall 18.17.0
Confirm you're using the right version:
node -v
npm -v
VS Code Extensions to Install
Open VS Code and install these from the Extensions Marketplace:
-
esbenp.prettier-vscode
– Prettier code formatter -
mongodb.mongodb-vscode
– MongoDB integration -
Postman.postman-for-vscode
– Postman in VS Code -
yzhang.markdown-all-in-one
– Markdown tools -
PKief.material-icon-theme
– Better file icons -
GitHub.github-vscode-theme
– GitHub's official theme -
biomejs.biome
– All-in-one linting/formatting -
bengreenier.vscode-node-readme
– Auto README generator -
AmazonWebServices.amazon-q-vscode
– Amazon Q AI assistant
You can also install them via CLI using:
code --install-extension esbenp.prettier-vscode
code --install-extension mongodb.mongodb-vscode
# ... and so on
Recap: Tools We Installed
Tool | Purpose |
---|---|
VS Code | Code editor |
Arc & Chrome | Browsers |
Git & GitHub CLI | Version control |
MongoDB tools | Database management |
Postman | API testing |
Bun | JS runtime alternative |
NVM for Windows | Node version management |
Warp Terminal | Modern dev terminal |
Watch the Video Tutorial
Prefer to see this step-by-step? I walk through the entire setup process visually in this episode:
What’s Next?
In the next part of the series, we’ll initialize a real Express.js project and start building APIs with proper structure and tooling.
Subscribe so you don’t miss it!
Feedback?
Drop your thoughts, suggestions, or questions in the comments — I’m always happy to help or improve future tutorials!
Top comments (0)