https://github.com/lfarci/recipes
Sample web application running on Azure for learning purposes (focus on IaC).
https://github.com/lfarci/recipes
azure azure-cosmos-db azure-key-vault azure-static-web-app azure-webapp blazor blazor-fluentui csharp dotnet-core microsoft-graph-api
Last synced: 7 months ago
JSON representation
Sample web application running on Azure for learning purposes (focus on IaC).
- Host: GitHub
- URL: https://github.com/lfarci/recipes
- Owner: lfarci
- License: mit
- Created: 2024-06-14T20:27:28.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-19T14:39:41.000Z (over 1 year ago)
- Last Synced: 2025-04-28T12:30:07.259Z (11 months ago)
- Topics: azure, azure-cosmos-db, azure-key-vault, azure-static-web-app, azure-webapp, blazor, blazor-fluentui, csharp, dotnet-core, microsoft-graph-api
- Language: C#
- Homepage: https://lfarci.recipes
- Size: 641 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Recipes
[](https://github.com/lfarci/recipes/actions/workflows/recipes.infra.yml) [](https://github.com/lfarci/recipes/actions/workflows/recipes.web.yml) [](https://github.com/lfarci/recipes/actions/workflows/recipes-api.yml)
This repository contains a simple recipe application that allows users to create, read, update, and delete recipes. The application is composed of a web frontend, a RESTful API, and a database.
## Architecture
The application is composed of three main components:
- **Web Frontend**: A simple web application that allows users to interact with the API.
- **API**: A RESTful API that exposes endpoints to create, read, update and delete recipes.
- **Database**: A Cosmos DB instance that stores the recipes.
## Infrastructure
The infrastructure is defined using Bicep and includes the following resources:
- **Azure App Service**: Hosts the API.
- **Azure Static Web App**: Hosts the web frontend.
- **Azure Cosmos DB**: Stores the recipes.
- **Azure Key Vault**: Stores the API client secret and the Cosmos DB connection string.
## CI/CD
The repository is configured with GitHub Actions to deploy the infrastructure, and the application. The CI/CD pipeline is composed of the following workflows:
- **Infrastructure**: Deploys the infrastructure using Bicep.
- **API**: Deploys the API to Azure App Service.
- **Web**: Deploys the web frontend to Azure Static Web App.