Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

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.

License

NotificationsYou must be signed in to change notification settings

hmz777/ClinicManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

  • The app relies on the OData batching feature ($batch) while tracking changes (CRUD) on data tables, then it batches them all in a single request, parses and displays all the responses in status messages with associated colors for status codes.
  • Supports inline editing.
  • Full text search using the OData search ($search) feature (custom implementation), (int andstring properties by defualt, other types must implement a customToString override).
  • Searchable fields can be controlled through the customDataField attribute,ServerSearchable for$search andClientSearchable for regular filering through the API.
  • All the data tables share the same generic base component that does all the wiring for you.
  • Validation is performed with fluent validation and is shared between server and client.

Example:

PatientDTO:

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;}}

Result:

chrome_Fje6QA0ZWC

Todo:

Client:

  • Apply colors to modified entities to differentiate which one is edited/deleted before batching changes to server.
  • More comprehensive tracking e.g. disable editing for to be deleted entities and vice versa.
  • Make status messages associated with entity rows in terms of location so we know which message belongs to which entity row.
  • Add some sort of reminder to save changes.

Server:

  • Change the database server to PostgreSQL.
  • Dockerize the app.
  • Add more to dos.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

[8]ページ先頭

©2009-2025 Movatter.jp