System Setup Guide

Install the tools you need for this project. Choose your operating system below.


Python 3.10+

Windows

Option A — Installer (recommended): 1. Go to https://www.python.org/downloads/ 2. Download Python 3.12.x 3. Run the installer — check "Add Python to PATH" at the bottom 4. Open Command Prompt or PowerShell and verify:

python --version
pip --version

Option B — winget (if you have Windows 10 1709+):

winget install Python.Python.3.12

Option C — WSL2 (best for this project): See "WSL2 Setup" below for a full Linux environment inside Windows.

macOS

Option A — Homebrew (recommended):

# Install Homebrew first (if you don't have it)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install Python
brew install python@3.12

# Verify
python3 --version
pip3 --version

Option B — Installer: 1. Go to https://www.python.org/downloads/ 2. Download Python 3.12.x for macOS 3. Run the installer

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install python3.12 python3.12-venv python3-pip
python3.12 --version

Node.js 18+

Windows

winget install OpenJS.NodeJS.LTS

Or download from https://nodejs.org/ (LTS version)

macOS

brew install node

Linux

# Using Node Version Manager (recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Restart terminal, then:
nvm install 18
nvm use 18

Verify:

node --version
npm --version

Git

Windows

winget install Git.Git

Or download from https://git-scm.com/download/win

macOS

# Option A: Xcode Command Line Tools (includes git)
xcode-select --install

# Option B: Homebrew
brew install git

Linux

sudo apt install git

Verify:

git --version

VS Code (Code Editor)

Windows

winget install Microsoft.VisualStudioCode

macOS

brew install --cask visual-studio-code

Linux

sudo snap install code --classic

After installing, open VS Code and install these extensions (click the Extensions icon on the left, search and install each): - Python (ms-python.python) — syntax highlighting, linting - ES7+ React/Redux (dsznajder.es7-react-js-snippets) — React snippets - Prettier (esbenp.prettier-vscode) — auto-formatting


Expo Go (Mobile Testing)

  • iOS: Install "Expo Go" from the App Store
  • Android: Install "Expo Go" from Google Play Store

Your phone and computer must be on the same WiFi network.


Windows Subsystem for Linux (WSL2) — Windows Only

WSL2 gives you a full Linux terminal inside Windows. It avoids many Windows-specific Python issues.

Step 1: Install WSL2

Open PowerShell as Administrator and run:

wsl --install

Restart your computer when prompted.

Step 2: Launch Ubuntu

After restart, Ubuntu will launch and ask you to create a Linux username and password.

Step 3: Install Python and Node in WSL2

sudo apt update && sudo apt upgrade -y
sudo apt install python3.12 python3.12-venv python3-pip -y
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Restart terminal, then:
nvm install 18

Step 4: Access Your Files

Your Windows files are at /mnt/c/. Navigate to your project:

cd /mnt/c/Users/YourName/path/to/aiproject

Step 5: VS Code + WSL2

In your WSL2 terminal, navigate to the project and run:

code .

This opens VS Code connected to WSL2 — you can edit files in Windows but run commands in the Linux terminal.

Why WSL2? Most tutorials and Stack Overflow answers assume Linux. WSL2 eliminates "it works on my machine" problems.



Docker (Optional — Alternative to Installing Python Directly)

Instead of installing Python on your machine, you can use Docker to run the backend in an isolated container. You'll still need Node.js for the mobile app.

Windows

winget install Docker.DockerDesktop

macOS

brew install --cask docker

Linux (Ubuntu/Debian)

sudo apt install docker.io docker-compose-v2
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
# Log out and back in for group changes to take effect

Verify:

docker --version
docker compose version

Verifying Everything

Run these commands and confirm they all return version numbers:

python3 --version       # → Python 3.10+
pip3 --version          # → pip 23+
node --version          # → v18+
npm --version           # → 9+
git --version           # → 2.x+
code --version          # → 1.x+
docker --version        # → 24+ (if you installed Docker)
docker compose version  # → 2.x+ (if you installed Docker)