Example Projects
Ready-to-use project configurations for popular frameworks. Each includes azure.yaml setup and Copilot debugging tips.
Node.js Express API
A REST API with Express.js, featuring health endpoints and structured logging.
azure.yaml Configuration
name: nodejs-apiservices: api: language: js host: containerapp project: ./src ports: - "3000" healthCheck: endpoint: /healthProject Structure
src/ package.json index.js routes/ health.js users.js middleware/ logging.jsazure.yamlCopilot Debugging Tip
Ask Copilot to analyze startup logs if the Express server fails to bind to the port.
Try these prompts:
Check if the API service is healthy and show any errors in the logsWhy is my Express app returning 500 errors? Check the logs for stack tracesShow me the last 50 lines of logs from the api service
Python FastAPI
A modern Python API with FastAPI, automatic OpenAPI docs, and async support.
azure.yaml Configuration
name: python-apiservices: backend: language: python host: containerapp project: ./api ports: - "8000" healthCheck: endpoint: /healthProject Structure
api/ pyproject.toml main.py routers/ health.py items.py models/ item.pyazure.yamlCopilot Debugging Tip
Use Copilot to debug uvicorn reload issues or import errors by checking startup logs.
Try these prompts:
Check the health of my FastAPI backend and show any import errorsMy Python service is crashing on startup. What does the traceback show?Show me all WARNING and ERROR level logs from the backend
Fullstack React + Node
A complete fullstack app with React frontend, Node.js API, and PostgreSQL.
azure.yaml Configuration
name: fullstack-appservices: web: language: js host: containerapp project: ./frontend ports: - "5173" api: language: js host: containerapp project: ./backend ports: - "3000" healthCheck: endpoint: /api/healthresources: database: type: postgres.databaseProject Structure
frontend/ package.json src/ App.tsx api/backend/ package.json src/ index.ts routes/ db/azure.yamlCopilot Debugging Tip
When debugging fullstack apps, check both services. CORS errors often appear in browser but the root cause is in the API.
Try these prompts:
Check the health of both web and api servicesMy frontend shows network errors. Are there any CORS issues in the api logs?Show me the logs from api service filtered by ERROR levelIs the database connection working? Check for connection errors in the logs
API with Container Services
A Node.js API with PostgreSQL database and Redis cache running as container services.
azure.yaml Configuration
name: api-with-containersservices: api: language: js project: ./src ports: - "3000" env: DATABASE_URL: postgresql://postgres:postgres@localhost:5432/app REDIS_URL: redis://localhost:6379 healthCheck: endpoint: /health
postgres: image: postgres:16 ports: - "5432:5432" env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: app healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s
redis: image: redis:7-alpine ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"]Project Structure
src/ package.json index.js routes/ health.js users.js db/ connection.js cache/ redis.jsazure.yamlCopilot Debugging Tip
Container services start before your app. If you see connection errors, check if the database container is healthy first.
Try these prompts:
Check if the postgres container is running and healthyShow me the postgres logs to see if the database is readyMy API can't connect to Redis. Is the redis container healthy?What is the connection string I should use for PostgreSQL?
📘azure.yaml Reference
Learn about all configuration options - services, health checks, logging, testing, and more.
View complete reference →🚀Try the Demo
Get hands-on with a working project that demonstrates all azd-app features.
azd init -t jongio/azd-app-demoReady to debug with AI? Set up the MCP server for Copilot integration.
🤖Set up MCP Server