A modern food delivery application built with React TypeScript frontend and .NET backend, designed for deployment to Azure Container Apps using Azure Developer CLI (azd).
- Modern UI: Beautiful, responsive design inspired by popular food delivery apps
- Real Food Content: Sample restaurants and food items with real images from Unsplash
- Complete Food Delivery Flow: Browse restaurants → Add to cart → Checkout → Track orders
- Azure Container Apps: Scalable, serverless container hosting
- Azure Developer CLI: One-command deployment and management
- Frontend: React 18 + TypeScript + Material-UI
- Backend: .NET 9 Web API with RESTful endpoints
- Infrastructure: Azure Container Apps + Container Registry
- Deployment: Azure Developer CLI (azd)
This guide shows how to deploy Grubify with both backend versions (v1 with memory leak, v2 with payment failures) for testing Azure SRE Agent scenarios.
Before deploying Grubify, ensure you have the following tools installed and running:
- Azure Developer CLI (azd) - Latest version
- Docker Desktop - Must be running before deployment
- Azure CLI - For additional Azure operations
- Azure Subscription - With Contributor/Owner permissions
Docker Desktop must be running before executing azd up. The deployment will fail if Docker is not started.
To start Docker Desktop:
- macOS/Windows: Launch Docker Desktop application
- Linux: Run
sudo systemctl start docker
Verify Docker is running:
open -a Docker
docker --version
docker psBefore starting, run our prerequisites check script:
# Run the automated prerequisites check
./scripts/check-prerequisites.sh
### 2. Initial Azure Setup
```bash
# Clone the repository
git clone https://github.com/dm-chelupati/grubify.git
cd grubify
# ⚠️ IMPORTANT: Start Docker Desktop before proceeding
# Verify Docker is running
docker ps
# Login to Azure
azd auth login
az login --use-device-code
# Initialize azd project (if not already done)
azd init
# Set Azure location
azd env set AZURE_LOCATION eastus2# Deploy infrastructure and frontend first
azd upThis creates:
- Resource Group:
rg-grubify-app - Container Registry:
crgrubify - Container Apps Environment:
cae-grubify - API Container App:
ca-grubify-api - Frontend Container App:
ca-grubify-frontend - Log Analytics Workspace:
log-grubify
Now you have:
- ✅ Frontend deployed and working
- ✅ Backend deployed and working
- ✅ Infrastructure configured for testing scenarios
SRE Agent Setup:
- Create agent - (Azure SRE Agent Usage Guide)
- Map GitHub repo that you cloned this to: https://github.com/dm-chelupati/grubify.git
- Connect Service Now to your SRE agent
- Setup incident handler with custom instructions for automated diagnosis and mitigation
- Simulate memory leak using the deployed application endpoints
- Create incident in Service Now to trigger SRE agent response