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
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:
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¶
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:
- Development Setup - Set up your local development environment
- Architecture Overview - Understand the system design
- API Reference - Explore the API endpoints
Troubleshooting¶
Node.js Version Issues¶
If you have an older Node.js version, use nvm:
Python Version Issues¶
Use uv to manage Python versions:
Docker Permission Issues¶
On Linux, add your user to the docker group:
Support¶
If you encounter issues:
- Check the Development Setup troubleshooting section
- Create an issue on GitHub
- Contact: sven.relijveld@onedna.nl