Skip to content

Capstone · Cloud Computing (AWS, Azure, Google Cloud)

Capstone: a clinic appointment booking backend

Capstoneexpert· about 12 hours· 12 steps

The brief

Build the backend for a family clinic's online appointment booking: a costed and availability-checked design, a Python Lambda function that validates bookings and refuses double bookings, a DynamoDB table in Mumbai, a least-privilege IAM role, a CloudWatch alarm, the same resource-group lifecycle on Azure, and a full clean-up. You finish with code, a cost estimate, an architecture diagram and a clean-up record in a README.

Why it matters

Clinics, diagnostic labs, salons and coaching centres across India are moving from phone calls to online booking, and a small serverless backend like this is what a cloud engineer would build for them. It shows an employer the whole job in one place: design with numbers, secure code, least privilege, monitoring, multi-cloud awareness and the discipline to clean up.

Skills you practise

  • architecture and cost estimates
  • composite availability (SLA maths)
  • input validation
  • DynamoDB key design and conditional writes
  • Lambda handlers
  • least-privilege IAM policies
  • CloudWatch alarms
  • Azure resource groups with az
  • cleaning up and documenting

You need

  • A free AWS account with a budget alert set (lab cc-lab-safe-account)
  • AWS CLI v2 configured with an IAM Identity Center or IAM user profile, not root, region ap-south-1 (AWS CloudShell in Mumbai works well)
  • An Azure free account with a budget in Cost Management, and the Azure CLI (or Azure Cloud Shell)
  • A drawing tool for the architecture diagram, such as draw.io (diagrams.net)

What you will have at the end

A README with an architecture diagram, cost estimate, availability figures, security notes and a dated clean-up record; plan.py and booking.py with every check passing; and the pasted proof that the backend ran in Mumbai, refused a double booking, was watched by an alarm, and was fully removed from AWS and Azure.

How it is marked (rubric, 100 points)
Working, safe codeEvery browser check passes; the deployed function returned 201 then 409 using a conditional write.30
Design with numbersThe README gives the cost for 3,000 and 1,000,000 bookings (example prices) and the availability and downtime, and explains them.20
Security and operationsNon-root identity and a budget; the role allows only PutItem, GetItem and Query on one table; an alarm watched Errors; data stayed in ap-south-1.25
Clean-up and documentationEverything on AWS and Azure was deleted and proven gone, and the README is clear enough for another engineer to rebuild it.25

0/12 steps done

Step 1 of 12

Safety first

Your CLI identity is not root and at least one budget exists.

This capstone creates real resources on two clouds, so start the way a professional does: check who you are and that a budget will warn you. The first command prints your identity's ARN; the second counts your budgets.

Everything here stays within free allowances or a few cents of credits if you clean up the same day. Work in ap-south-1 (Mumbai) throughout: patient data must stay in India.

Run this on your machine, then paste the output below
$ aws sts get-caller-identity --query Arn --output text; aws budgets describe-budgets --account-id $(aws sts get-caller-identity --query Account --output text) --query "length(Budgets)"
Your notes: plan.py, booking.py, README.md

Write down each command you ran. It goes into your project summary.