๐ 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 โ
- ๐ Sign up on GitHub
- โ Verify email, create a repo
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 โ
- Go to GitHub Settings > SSH and GPG keys
- Click "New SSH key"
- Add a descriptive title (e.g., "Personal Laptop")
- Paste your copied public key into the "Key" field
- Click "Add SSH key"
- Verify with your GitHub password if prompted
๐๏ธ Optional: Fira Code Font โ
- ๐ฆ Fira Code Releases
- Install and set as font in VS Code settings.
๐งฉ 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 โ
- Download Postman
- Install, log in, and create API test collections
๐ ๏ธ 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! ๐