Prerequisites Setup Guide
This guide will help you set up the required development tools for this project.
Node.js 20+
Linux / macOS
Installing Node Version Manager
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
## or you can use homebrew for macOS
brew install nvm
# Restart terminal or run:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"Installing Node.js
# Install and use Node.js - Latest Version
nvm install node
nvm use nod
# Or you can install and use Node.js v20
nvm install 20
nvm use 20
## Alternative for macOS (Homebrew)
brew install node # For latest version
brew install node@20 # For specific version, in that case v20.x.x
# Verify installation
node --version # Should show v20.x.x
npm --version # Should show 10.x.xWindows
Official
Download from nodejs.orgĀ
Alternative (Using Chocolatey)
# Download and install Chocolatey:
powershell -c "irm https://community.chocolatey.org/install.ps1|iex"
# Download and install Node.js:
choco install nodejs --version="20.19.5"
# Verify the Node.js version:
node -v # Should print "v20.19.5".
# Verify npm version:
npm -v # Should print "10.8.2".
Bun 1.3.0+
Linux / macOS
Latest version
curl -fsSL https://bun.com/install | bashSpecific version
curl -fsSL https://bun.com/install | bash -s "bun-v1.3.0"Alternative (Using Bum)
Note: bum refers to the command to run Bun Version ManagerĀ
# Install Bum (Bun version manager)
curl -fsSL https://github.com/owenizedd/bum/raw/main/install.sh | bash
# Install and use Bun 1.3.0
bum use 1.3.0
# Verify installation
bun --version # Should show 1.3.0Windows
Latest version
curl -fsSL https://bun.com/install | bashSpecific version
curl -fsSL https://bun.com/install | bash -s "bun-v1.3.0"PostgreSQL 16
Linux (Ubuntu/Debian)
# Add PostgreSQL repository
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
# Install PostgreSQL 16
sudo apt-get install postgresql-16 postgresql-client-16
# Start service
sudo systemctl start postgresql@16-main
sudo systemctl enable postgresql@16-mainLinux (Fedora/RHEL)
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf install -y postgresql16-server postgresql16-contrib
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16macOS
# Using Homebrew
brew install postgresql@16
brew services start postgresql@16
# Or using Postgres.app (recommended for beginners)
# Download from: https://postgresapp.com/Windows
- Download installer from postgresql.orgĀ
- Run installer and follow setup wizard
- Remember the password you set for the postgres user
Docker and Docker Compose
macOS
# Using Homebrew
brew install --cask docker
# Or download Docker Desktop from: https://www.docker.com/products/docker-desktop/Linux (Ubuntu/Debian)
# Install Docker
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Add user to docker group (logout/login required)
sudo usermod -aG docker $USER
# Install Docker Compose (if not included)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeWindows
- Download Docker Desktop from docker.comĀ
- Enable WSL 2 backend for better performance
- Install and restart when prompted
Turbo CLI
# Using Bun (recommended)
bun add -g turbo
# Using npm
npm install -g turbo
# Using yarn
yarn global add turbo
# Verify installation
turbo --versionVerification
After installation, verify all tools are installed correctly:
node --version # Should show v20.x.x
bun --version # Should show 1.3.0
psql --version # Should show psql (PostgreSQL) 16.x
docker --version # Should show Docker version 24+
docker-compose --version # Should show Docker Compose version
turbo --version # Should show Turbo versionTroubleshooting
Common Issues
- NVM not found after installation: Restart terminal or run
source ~/.bashrc - PostgreSQL connection issues: Ensure service is running and check connection string
- Docker permission denied: Add user to docker group and restart session
- Bun not found: Ensure
~/.bun/binis added to your PATH
Environment Variables
Add these to your shell profile (~/.bashrc, ~/.zshrc, or ~/.profile):
export PATH="$HOME/.bun/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"Last updated on