Skip to content

DarekKrawczyk/PawPatientManagerClient

Repository files navigation

PawPatientManager - Desktop Client

Real-time WPF application for veterinary clinic management

.NET WPF Material Design SignalR MVVM

📖 Overview

PawPatientManager is a Windows desktop application designed for veterinary clinic management. Built with WPF and .NET 8, it provides patient (animal) and owner management, real-time data synchronization via SignalR WebSockets, and an Material Design interface. The application follows MVVM architecture and connects to a backend for full CRUD operations.

✨ Key Highlights

  • Real-time data synchronization via SignalR WebSocket connections
  • Comprehensive veterinary management - patients, owners, breeds, species
  • Material Design UI with custom theming and animations
  • MVVM architecture with CommunityToolkit.Mvvm
  • Reactive programming with ReactiveUI and DynamicData
  • Modular architecture with separate communication and UI libraries
  • Advanced search and filtering capabilities
  • Side panel navigation with documentation, notifications, and AI assistant

🏗️ Project Structure

The solution consists of 5 projects:

1. Client (Main WPF Application)

The primary desktop application with UI, ViewModels, and navigation logic.

  • Navigation system with sheets and side panels
  • Main window with custom chrome and Material Design
  • ViewModels for all views
  • Custom animations and helpers

2. CommunicationLibrary (Core Business Logic)

Handles all server communication and business logic.

  • Models: Owner, Animal, Employee, Breed, Species, Status, Role, EmployeeRole
  • Database Connectors: RESTful API communication for each entity
  • SignalR Hub: Real-time data synchronization
  • Data Transfer Objects (DTOs): Serialization-ready objects
  • Generic Storage: In-memory caching with automatic updates

3. UserControlsLibrary (Reusable UI Components)

Shared UI components and utilities.

  • Custom user controls (search bars, data grids, profile displays)
  • Dialog system (loading, message boxes, modify dialogs)
  • Validation rules (email, phone, postal code)
  • Value converters for XAML binding
  • Material Design themed controls

4. UtilitiesLibrary (Helper Functions)

Common utilities and helper classes.

  • Runtime type analysis
  • Shared helper functions

👥 Owner Management

  • ✅ View and manage all pet owners
  • 📝 Add new owners with complete contact information
  • 🔍 Search and filter owners by name, location, or contact details
  • ✏️ Edit owner information with real-time validation
  • 📋 View owner details including:
    • Full name and contact information
    • Address (city, postal code, street, apartment)
    • Email and phone number
    • Associated animals/patients
  • 🔴 Real-time updates from other clients via SignalR

🐾 Animal/Patient Management

Complete patient (animal) management for veterinary clinics.

  • 🐕 Manage all animal patients
  • 📊 Track comprehensive patient information:
    • Name and birthday
    • Gender and coat description
    • Microchip number
    • Medical description/notes
    • Species and breed
    • Current status
    • Associated owner
  • 🔍 Advanced search and filtering
  • ⚡ Real-time synchronization across clients
  • 📋 Patient history and status tracking

📋 Supporting Data Management

Manage clinic reference data and classifications.

Species & Breeds

  • 🦴 Species management (dogs, cats, birds, etc.)
  • 🐕‍🦺 Breed management linked to species
  • 🔍 Find by name functionality

Patient Statuses

  • 📊 Track patient statuses (active, deceased, transferred, etc.)
  • 🎯 Status assignment to patients
  • 📈 Status-based filtering and reporting

Employee & Roles

  • 👨‍⚕️ Employee management (veterinarians, technicians, staff)
  • 🎭 Role system for access control
  • 📅 Employee-role assignments with date tracking
  • 👥 Multi-role support per employee

📱 Side Panel Features

Quick access to additional functionality without leaving your current view.

🔔 Notifications Panel

  • Real-time system notifications
  • Activity feed
  • Important alerts

🤖 AI Assistant Panel

  • Context-aware help
  • Quick actions and shortcuts
  • Smart suggestions

📚 Documentation Panel

  • In-app documentation
  • Feature guides
  • Keyboard shortcuts reference

About

Windows desktop application designed for veterinary clinic management. Built with WPF and .NET 8.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages