Skip to content

surivineela/grubify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grubify - Food Delivery App

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).

🍕 Features

  • 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

🏗️ Architecture

  • 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)

🚀 Complete Deployment Guide

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.

📋 Prerequisites

Before deploying Grubify, ensure you have the following tools installed and running:

Required Tools

⚠️ Important: Docker Desktop

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 ps

Prerequisites

🚀 Quick Start

1. Prerequisites Check

Before 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

3. Deploy Infrastructure & Applications

# Deploy infrastructure and frontend first
azd up

This 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

6. Ready for SRE Scenarios

Now you have:

  • Frontend deployed and working
  • Backend deployed and working
  • Infrastructure configured for testing scenarios

SRE Agent Setup:

  1. Create agent - (Azure SRE Agent Usage Guide)
  2. Map GitHub repo that you cloned this to: https://github.com/dm-chelupati/grubify.git
  3. Connect Service Now to your SRE agent
  4. Setup incident handler with custom instructions for automated diagnosis and mitigation
  5. Simulate memory leak using the deployed application endpoints
  6. Create incident in Service Now to trigger SRE agent response

About

Modern food delivery app with React TypeScript frontend and .NET Web API backend, deployed to Azure Container Apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 57.0%
  • C# 32.2%
  • Bicep 6.3%
  • HTML 1.4%
  • Dockerfile 1.3%
  • Shell 1.0%
  • CSS 0.8%