Skip to content

Prerequisites

Before you begin development, ensure you have the following tools and accounts set up.

Required Software

Node.js and npm

Version: Node.js 20+ with npm

# Check version
node --version  # Should be v20.x.x or higher
npm --version   # Should be 10.x.x or higher

# Install from https://nodejs.org/

Python & uv

Version: Python 3.11+ with uv package manager

# Check Python version
python --version  # Should be 3.11.x or higher

# Install uv (fast Python package manager)
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Verify installation
uv --version

Docker Desktop

Required for: Local development and testing

# Check installation
docker --version
docker-compose --version

# Install from https://docker.com/products/docker-desktop

Git

Required for: Version control

# Check installation
git --version

# Install from https://git-scm.com/

Azure CLI

Required for: Azure deployments

# Check installation
az --version

# Install from https://docs.microsoft.com/cli/azure/install-azure-cli

Optional Tools

VS Code

Recommended IDE with extensions:

  • ESLint
  • Prettier
  • Python
  • Docker
  • GitLens
  • Azure Tools

MkDocs

For documentation:

uv pip install mkdocs-material mkdocs-mermaid2-plugin

Required Accounts

Azure Subscription

  • Active Azure subscription
  • Contributor or Owner role
  • Estimated cost: $10-25/month

GitHub Account

  • For version control
  • For CI/CD with GitHub Actions

Gmail Account

  • For SMTP email delivery
  • App Password generated (not regular password)

Environment Setup

1. Clone Repository

git clone https://github.com/SvenRelijveld1995/portfolio.git
cd portfolio

2. Install Dependencies

# Frontend dependencies
npm install

# Backend dependencies (using uv)
cd api
uv pip install -r requirements.txt
cd ..

3. Configure Environment

# Create .env file
cp .env.example .env

# Edit .env with your credentials
# EMAIL_ADDRESS=your-email@gmail.com
# EMAIL_PASSWORD=your-app-password

Verification

Run these commands to verify your setup:

# Node.js
node --version

# Python
python --version

# Docker
docker --version

# Azure CLI
az --version

# Git
git --version

All tools should return version information without errors.

Next Steps

Once prerequisites are installed:

  1. Development Setup - Set up your local development environment
  2. Architecture Overview - Understand the system design
  3. API Reference - Explore the API endpoints

Troubleshooting

Node.js Version Issues

If you have an older Node.js version, use nvm:

nvm install 20
nvm use 20

Python Version Issues

Use uv to manage Python versions:

# uv can automatically install and manage Python versions
uv python install 3.11
uv python pin 3.11

Docker Permission Issues

On Linux, add your user to the docker group:

sudo usermod -aG docker $USER
# Log out and back in

Support

If you encounter issues: