A clinic management dashboard app that can be controlled through custom data attributes to define how the app will behave and handle different scenarios.
Backed by OData and .NET6 with MudBlazor for presentation.
publicclassPatientDTO:DTOBase{publicPatientDTO(){Gender=Gender.Male;}[DataField(DisplayName="First Name",DataField=DataField.Text,Editable=true,ClientSearchable=true,ServerSearchable=true)]publicstring?FirstName{get;set;}[DataField(DisplayName="Middle Name",DataField=DataField.Text,Editable=true,ClientSearchable=true,ServerSearchable=true)]publicstring?MiddleName{get;set;}[DataField(DisplayName="Last Name",DataField=DataField.Text,Editable=true,ClientSearchable=true,ServerSearchable=true)]publicstring?LastName{get;set;}[DataField(DisplayName="Age",DataField=DataField.Number,Editable=true,ClientSearchable=true,ServerSearchable=true)]publicintAge{get;set;}[DataField(DisplayName="Gender",DataField=DataField.Enum,Editable=true,ClientSearchable=true,ServerSearchable=true)]publicGenderGender{get;set;}[DataField(DisplayName="Phone Number",DataField=DataField.PhoneNumber,Editable=true,ClientSearchable=true,ServerSearchable=true)]publicstring?PhoneNumber{get;set;}[DataField(DisplayName="Extra Data",DataField=DataField.Navigation)]publicExtraDataDTO?ExtraData{get;set;}[DataField(DisplayName="Appointments",DataField=DataField.Navigation)]publicList<AppointmentDTO>?Appointments{get;set;}[DataField(DisplayName="Treatments",DataField=DataField.Navigation)]publicList<TreatmentDTO>?Treatments{get;set;}[DataField(DisplayName="Notes",DataField=DataField.Navigation)]publicList<NoteDTO>?Notes{get;set;}}