BlackSmith - Medical Center Application

Demonstration project application built in WPF UI to schedule medical appointments

image

GitHub repo size GitHub language count Github open issues

💽 Download

Go to releases or click here

📐 Infrastructure

  • Presentation Layer

    • This is the "Desktop Client Application"
    • Based on WPF Framework & AdonisUI toolkit
    • Designed with MVVM (Model-View-ViewModel) Pattern
    • Consumes Application Services Layer
  • Service Layer

    • Contains application services
    • Exposes the business logic through interfaces
    • Bridge between Presentation Layer and Domain Layer
    • Has Dto definitions to be able to return data without exposing the domain entities
    • Dto soft validations using C# built-in Data Annotations
    • Register injection dependencies
  • Business Layer

    • Centralizes business rules ensuring data consistency and validity
    • FluentValidation library is used for strongly-typed validations rules
    • Complex validations implemented against the database
    • Serves as an intermediary for data exchange between the Presentation Layer and the Data Access Layer
  • Domain Layer

    • Domain entities
    • Declares the IRepository interface bridging the data layer
  • Data Access Layer

    • Database infrastructure (mapping)
    • Implementation of the Repository interface
    • Holds database migrations
    • Separate the EF code needed for generating database tables at design-time from EF code used by your application at runtime
  • Core Layer

    • Exposes Helpers, Extension Methods, Data Structures shared across layers
    • Common functionality (crosscutting concerns)

💻 Requirements

Before you begin:

🚀 Build

Building back-end

dotnet build