Create a Blazor WebAssembly application that uses the Blazor-Diagrams library to render a static UML-like diagram from a JSON object without any interactive features.

Job ID: 38108232

Budget: $15 – $25 USD

The app should be able to take in a JSON like so:
{
"classes": [
{
"name": "Person",
"attributes": [
{"name": "personId", "type": "String"},
{"name": "firstName", "type": "String"},
{"name": "lastName", "type": "String"},
{"name": "dateOfBirth", "type": "Date"},
{"name": "addressId", "type": "String"},
{"name": "employerId", "type": "String"}
],
"relationships": [
{"name": "address", "type": "Address", "multiplicity": "1"},
{"name": "employer", "type": "Employer", "multiplicity": "1"}
]
},
{
"name": "Address",
"attributes": [
{"name": "addressId", "type": "String"},
{"name": "street", "type": "String"},
{"name": "city", "type": "String"},
{"name": "state", "type": "String"},
{"name": "postalCode", "type": "String"},
{"name": "country", "type": "String"}
],
"relationships": []
},
{
"name": "Employer",
"attributes": [
{"name": "employerId", "type": "String"},
{"name": "companyName", "type": "String"},
{"name": "addressId", "type": "String"}
],
"relationships": [
{"name": "address", "type": "Address", "multiplicity": "1"},
{"name": "employees", "type": "Person", "multiplicity": "0..*"}
]
},
{
"name": "Paycheck",
"attributes": [
{"name": "paycheckId", "type": "String"},
{"name": "personId", "type": "String"},
{"name": "employerId", "type": "String"},
{"name": "amount", "type": "Double"},
{"name": "dateIssued", "type": "Date"}
],
"relationships": [
{"name": "person", "type": "Person", "multiplicity": "1"},
{"name": "employer", "type": "Employer", "multiplicity": "1"}
]
}
]
}

And use the Blazor.Diagrams library to render a diagram containing each class as a node, with a list of each property and type, and lines to indicate relationships with other classes.

This should take 10 hours or less.

Upon acceptance, we will provide a Github repository to use for source control.
Related categories: .NET C# Programming Blazor