Skip to content

๐Ÿš€ Fullstack JS + React + Flask Setup Guide 2025 โ€‹

Welcome to your full-stack development journey! This guide walks you through setting up a complete environment for JavaScript, React 19, SQL, Python, and Flask development across Windows, Linux, and macOS.

๐Ÿ’ป Minimum Hardware Requirements โ€‹

WARNING

Purpose: Ensure smooth coding, running local servers, and tooling.

  • ๐Ÿ–ฅ๏ธ Processor: Intel Core i5/AMD Ryzen 5/Apple M1 or better
  • ๐Ÿง  RAM: Minimum 8GB (16GB recommended)
  • ๐Ÿ’พ Storage: SSD with at least 256GB free
  • ๐Ÿ–ผ๏ธ Display: Full HD (1920x1080) or higher
  • ๐ŸŒ Internet: Required for package installations, Git operations, and documentation access

๐Ÿซ Windows Setup: Chocolatey + Git Bash + Tools โ€‹

Install Chocolatey from: https://chocolatey.org/install

powershell
choco install git -y
choco install nodejs-lts -y
choco install python -y
choco install docker-desktop -y
choco install postgresql -y
  • Set Git Bash as default terminal in VS Code
  • Restart and verify installations

๐Ÿช› Optional: WSL2 + Ubuntu Setup (Windows Only) โ€‹

For advanced CLI workflows:

powershell
wsl --install -d Ubuntu

๐ŸŒ Git + GitHub Setup โ€‹

SSH Key Setup โ€‹

bash
# Generate the SSH key
ssh-keygen -t ed25519 -C "your.email@example.com"

# Start the SSH agent
eval "$(ssh-agent -s)"

# Add the key to the agent
ssh-add ~/.ssh/id_ed25519

# Copy the public key to clipboard
cat ~/.ssh/id_ed25519.pub | clip
bash
# Generate the SSH key
ssh-keygen -t ed25519 -C "your.email@example.com"

# Start the SSH agent
eval "$(ssh-agent -s)"

# Add the key to the agent
ssh-add ~/.ssh/id_ed25519

# Copy the public key to clipboard
cat ~/.ssh/id_ed25519.pub | pbcopy
bash
# Generate the SSH key
ssh-keygen -t ed25519 -C "your.email@example.com"

# Start the SSH agent
eval "$(ssh-agent -s)"

# Add the key to the agent
ssh-add ~/.ssh/id_ed25519

# Copy the public key to clipboard (requires xclip)
cat ~/.ssh/id_ed25519.pub | xclip -selection clipboard

Adding SSH Key to GitHub โ€‹

  1. Go to GitHub Settings > SSH and GPG keys
  2. Click "New SSH key"
  3. Add a descriptive title (e.g., "Personal Laptop")
  4. Paste your copied public key into the "Key" field
  5. Click "Add SSH key"
  6. Verify with your GitHub password if prompted

๐Ÿ–‹๏ธ Optional: Fira Code Font โ€‹

๐Ÿงฉ VS Code Installation & Extensions โ€‹

Download: https://code.visualstudio.com/

Install these extensions:

bash
code --install-extension esbenp.prettier-vscode \
     --install-extension ms-python.python \
     --install-extension eamodio.gitlens \
     --install-extension ms-toolsai.jupyter \
     --install-extension humao.rest-client \
     --install-extension ms-azuretools.vscode-docker \
     --install-extension mtxr.sqltools \
     --install-extension charliermarsh.ruff

โš™๏ธ VS Code Optional Settings (.vscode/settings.json) โ€‹

json
{
  "editor.fontFamily": "Fira Code, Consolas, 'Courier New', monospace",
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "terminal.integrated.defaultProfile.windows": "Git Bash",
  "python.formatting.provider": "none"
}

๐Ÿ“ฆ Node.js Setup โ€‹

powershell
choco install nodejs-lts -y
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install --lts
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install --lts

๐Ÿ› ๏ธ React + Vite Project Setup โ€‹

bash
npm create vite@latest my-app --template react
cd my-app
npm install
npm run dev
bash
npm create vite@latest my-app --template react
cd my-app
npm install
npm run dev
bash
npm create vite@latest my-app --template react
cd my-app
npm install
npm run dev

The React app will be available at http://localhost:5173

๐Ÿ Python + uv Setup โ€‹

Install uv:

powershell
irm https://astral.sh/uv/install.ps1 | iex
bash
curl -LsSf https://astral.sh/uv/install.sh | sh
bash
curl -LsSf https://astral.sh/uv/install.sh | sh

Create environment:

bash
uv venv
.venv\Scripts\activate
uv pip install flask flask-cors flask-sqlalchemy flask-restful marshmallow flask-jwt-extended python-dotenv ruff
bash
uv venv
source .venv/bin/activate
uv pip install flask flask-cors flask-sqlalchemy flask-restful marshmallow flask-jwt-extended python-dotenv ruff
bash
uv venv
source .venv/bin/activate
uv pip install flask flask-cors flask-sqlalchemy flask-restful marshmallow flask-jwt-extended python-dotenv ruff

๐Ÿ˜ PostgreSQL Setup โ€‹

powershell
choco install postgresql -y
bash
brew install postgresql
bash
sudo apt update && sudo apt install postgresql postgresql-contrib

Or via Docker:

bash
docker run --name pg-local -e POSTGRES_PASSWORD=devpass -p 5432:5432 -d postgres

๐Ÿณ Docker Setup โ€‹

powershell
# Docker Desktop: https://www.docker.com/products/docker-desktop
bash
# Docker Desktop: https://www.docker.com/products/docker-desktop
bash
sudo apt install docker-ce docker-ce-cli containerd.io

๐Ÿงช Postman Setup โ€‹

๐Ÿ› ๏ธ Project Bootstrap โ€‹

Flask Backend โ€‹

bash
mkdir flask-backend && cd flask-backend
uv venv
.venv\Scripts\activate
uv pip install flask flask-cors flask-sqlalchemy flask-restful marshmallow flask-jwt-extended python-dotenv ruff
bash
mkdir flask-backend && cd flask-backend
uv venv
source .venv/bin/activate
uv pip install flask flask-cors flask-sqlalchemy flask-restful marshmallow flask-jwt-extended python-dotenv ruff
bash
mkdir flask-backend && cd flask-backend
uv venv
source .venv/bin/activate
uv pip install flask flask-cors flask-sqlalchemy flask-restful marshmallow flask-jwt-extended python-dotenv ruff

โœ… Final Checks โ€‹

bash
git --version
node -v && npm -v
python --version
uv --version
psql --version
docker --version
bash
git --version
node -v && npm -v
python --version
uv --version
psql --version
docker --version
bash
git --version
node -v && npm -v
python --version
uv --version
psql --version
docker --version

Run servers:

bash
# React
cd my-app
npm run dev

# Flask
set FLASK_APP=app.py
set FLASK_ENV=development
flask run
bash
# React
cd my-app
npm run dev

# Flask
export FLASK_APP=app.py
export FLASK_ENV=development
flask run
bash
# React
cd my-app
npm run dev

# Flask
export FLASK_APP=app.py
export FLASK_ENV=development
flask run

๐ŸŽ“ You're Ready! โ€‹

You now have a fully configured environment for modern full-stack development โ€” happy shipping! ๐Ÿš€