-
Static Web App URL: https://brave-stone-05a9d490f.4.azurestaticapps.net/
Welcome to my Azure Resume Challenge repository! This project is a full-stack cloud application that serves my interactive resume and implements a serverless visitor counter. Below is an overview of how everything is set up and the tools I used.
-
Frontend: A static website hosted on Azure Static Web Apps (initially tested with Azure Blob Storage, but switched due to CDN limitations on a student subscription). Built using HTML, CSS, and JavaScript.
-
Backend: A Python Azure Function that increments a view count in Azure Cosmos DB. Triggered via HTTP each time someone visits the site.
-
Infrastructure as Code: Everything is provisioned with Terraform—resource groups, function app, Cosmos DB, and static web app.
-
CI/CD: A GitHub Actions workflow automatically builds and deploys the front-end on each push to the main branch.
- Azure (Static Web Apps, Functions, Cosmos DB, Resource Groups)
- Terraform for Infrastructure as Code
- GitHub & GitHub Actions for source control and front-end CI/CD
- Python for the serverless function (v3.10)
- HTML/CSS/JS for the resume site
- Bash & Linux: WSL Ubuntu command-line environment used for local development, Terraform deployment, and general scripting.
- Version Mismatch: Originally tried a full C#/.NET backend but ran into isolation and version issues, so I switched to Python for a smoother setup.
- Networking: Ensured a simple CNAME record approach for custom domain mapping after I encountered difficulties mapping an apex domain. Also had to flush DNS resolver cache due to previous domain mapping with vercel.
- Terraform State: Had to manage large files and
.gitignore
complexities to avoid committing provider binaries.
- Unit Tests: Add tests for the Python Azure Function.
- Backend CI/CD: Implement GitHub Actions to automate deployments for the function code.
- Analytics: Extend visitor counter to track more metrics (e.g., unique visits).
- Security: Store secrets (function keys, etc.) in Key Vault or environment variables.