https://github.com/oveldman/madworldsuite
Hobby & Learning project. Try alot of different stuff with Blazor and Azure components.
https://github.com/oveldman/madworldsuite
azure azure-ad-b2c azure-functions bicep blazor blazor-webassembly blob-storage c4-model design-patterns graph-explorer keyvault table-storage
Last synced: 8 months ago
JSON representation
Hobby & Learning project. Try alot of different stuff with Blazor and Azure components.
- Host: GitHub
- URL: https://github.com/oveldman/madworldsuite
- Owner: oveldman
- License: mit
- Created: 2023-03-31T14:50:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-20T13:54:01.000Z (about 2 years ago)
- Last Synced: 2025-04-02T22:42:24.321Z (8 months ago)
- Topics: azure, azure-ad-b2c, azure-functions, bicep, blazor, blazor-webassembly, blob-storage, c4-model, design-patterns, graph-explorer, keyvault, table-storage
- Language: C#
- Homepage: https://www.mad-world.nl
- Size: 10.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/oveldman/MadWorldSuite/actions/workflows/sonarqube.yml)
[](https://sonarcloud.io/summary/new_code?id=oveldman_MadWorldSuite)
[](https://github.com/oveldman/MadWorldSuite/actions/workflows/azure-resources.yml)
[](https://github.com/oveldman/MadWorldSuite/actions/workflows/azure-frontend-suite-ui.yml)
[](https://github.com/oveldman/MadWorldSuite/actions/workflows/azure-frontend-admin-ui.yml)
[](https://github.com/oveldman/MadWorldSuite/actions/workflows/azure-jobrunner.yml)
[](https://github.com/oveldman/MadWorldSuite/actions/workflows/azure-api-anonymous.yml)
[](https://github.com/oveldman/MadWorldSuite/actions/workflows/azure-api-authorized.yml)
# MadWorldSuite
MadWorldSuite is a captivating hobby project that serves as a powerful platform for me to delve into the realms of Azure,
Blazor, and Azure Functions. As a passionate learner, I have embarked on this exciting journey to explore and master these
cutting-edge technologies while building a collection of diverse tools, a personalized CV, and a host of other thrilling
## Table of Contents
[1. MadWorldSuite](#MadWorldSuite)\
[2. Running Environments](#Running-Environments)\
[3. Pre-requisites](#Pre-requisites)\
[4. How to Install and Run the Project](#How-to-Install-and-Run-the-Project)\
[5. How to Run the Tests](#How-to-Run-the-Tests)\
[6. Azure Resources](#Azure-Resources)\
[7. Other Readme's](#Other-Readmes)\
[8. Currently maintained by](#Currently-maintained-by)
## Running Environments
The following environments are currently running in Azure:
Frontend:
* [MadWorld.Frontend.UI.Admin -> admin.mad-world.nl](https://admin.mad-world.nl/)
* [MadWorld.Frontend.UI.Suite -> www.mad-world.nl](https://www.mad-world.nl/)
Backend:
* [MadWorld.Backend.API.Anonymous -> api.mad-world.nl/anonymous](https://api.mad-world.nl/anonymous/swagger/ui)
* [MadWorld.Backend.API.Authorized -> api.mad-world.nl/authorized](https://api.mad-world.nl/authorized/swagger/ui)
## Pre-requisites
Make sure you have installed all of the following prerequisites on your development machine:
* Rider - [Download & Install Rider](https://www.jetbrains.com/rider/download/#section=windows) or another IDE of your choice.
* Git - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed.
* Docker - [Download & Install Docker](https://www.docker.com/products/docker-desktop)
* Dotnet 7 - [Download & Install Dotnet 7](https://dotnet.microsoft.com/download/dotnet/7.0)
* Azurite - [Download & Install Azurite](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio)
## How to Install and Run the Project
First make sure that azurite is running:
``` shell
azurite -l /tmp/azurite # Use a temporary folder for storage
```
Set multiple startup projects:
* MadWorld.Backend.Api.Anonymous
* MadWorld.Backend.Api.Authorized
* MadWorld.Backend.JobRunner
* MadWorld.Frontend.Admin.UI
* MadWorld.Frontend.Suite.UI
Set functions host arguments:
* MadWorld.Backend.Api.Anonymous
* `host start --pause-on-error --cors * --port 7071`
* MadWorld.Backend.Api.Authorized
* `host start --pause-on-error --cors * --port 7072`
* MadWorld.Backend.JobRunner
* `host start --pause-on-error --cors * --port 7073`
Configure your AzureAd B2C your MadWorld.Frontend.UI.Suite configurations in `appsettings.Development.json`
Configure your AzureAd B2C your MadWorld.Frontend.UI.Admin configurations in `appsettings.Development.json`
Configure your AzureAd B2C in your MadWorld.Backend.API.Anonymous configurations by:
* Copy `local.settings.example.json` and name the file `local.settings.json`
Configure your AzureAd B2C in your MadWorld.Backend.API.Authorized configurations by:
* Copy `local.settings.example.json`, change the `` values and name the file `local.settings.json`
Run happily your project!
## How to Run the Tests
First make sure that Docker Desktop is running:
``` shell
# Windows
C:\Program Files\Docker\Docker\Docker Desktop.exe
# Linux
systemctl --user start docker-desktop
# MacOS
open -a Docker
```
Then run the following command to run all tests:
``` shell
cd MadWorld
dotnet test
```
When all unit and integration tests pass, you should observe the following output for each test project:
``` shell
Passed! - Failed: 0, Passed: 2, Skipped: 0, Total: 2,
Duration: 6 s - MadWorld.Backend.Api.Anonymous.IntegrationTests.dll (net7.0)
```
## Azure Resources
The following Azure resources are currently running in my Azure environment:
* Azure Static Web App (2x)
* Azure Functions (3x)
* Azure API Management
* Azure Storage
* Azure Key Vault
* Azure Application Insights (3x)
* Azure App Service Plan (2x)
* Azure Log Analytics Workspace
* Azure B2C
## Other Readme's
* [Use Microsoft Monaco](MadWorld/MadWorld.ExternPackages.Monaco/README.md)
* [C4 Models](Designs/C4%20Models/README.md)
## Currently maintained by
* [Oscar Veldman](https://www.github.com/oveldman)