Simple web application to demonstrate how to deploy a web application to Microsoft Azure and publish it to the Microsoft Commercial Marketplace.
The solution use the following technology:
- Bootstrap CSS for design
- ASP.NET as a technology to provide UI and code to call the API's
- HTMX for communication with backend
- Azure Application Insights to get information about metrics / logs and to build interactive, rich dashboards
- PowerShell support for Automating operations, scripting and deploying the environment
- an active Azure subscription - MSDN or trial or Azure Pass is fine - you can also do all of the work in Azure Shell (all tools installed) and by using Github Codespaces
- PowerShell installed - we do recommend an editor like Visual Studio Code to be able to write scripts, YAML pipelines and connect to repos to submit changes.
- [OPTIONAL] Azure CLI installed to work with Azure or Azure PowerShell module installed
- [OPTIONAL] Windows Terminal to be able to work with multiple terminal Windows with ease
If you will be working on your local machines, you will need to have:
- Powershell installed
- git installed - instructions step by step here
- .NET installed to run the application if you want to run it locally
- an editor (besides notepad) to see and work with code, scripts and more (for example Visual Studio Code or NeoVim)
It contains:
-
Web Application: A simple web application that focus on 2 main parts - one from customer perspective and the same application for the publisher perspective with minimum required app.
- Customer Perspective: A simple web application that gives an overview of what a customer gets when they purchase a product from Microsoft Commercial Marketplace.
- Publisher Perspective: A simple web application that shows what you get as a publisher from Microsoft Commercial Marketplace.
It adheres to the following structure:
-
The web application is built using the following technologies:
- Frontend: HTML, CSS, and JavaScript, VueJs, ASP.NET Core RazorPages.
- Backend: ASP.NET Core, C#.
- The web application is hosted on Azure App Service for demonstration purposes.
- Webhook for the publisher perspective with minimum required api's to respond to communication from Microsoft Marketplace. More here.
- Bicep Templates: Bicep templates to deploy the web application to Azure. Available here.
- It uses simple SQL for data storage purposes. The database is hosted on Azure SQL Database.
You can read about different techniques and options here:
- ASP.NET Core
- VueJs
- GitHub and DevOps
- Azure Samples or use code browser
- Azure Architecture Center
- Application Architecture Guide
- Cloud Adoption Framework
- Well-Architected Framework
- Microsoft Learn
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.