Spa & Wellness Management — Complete Source Code
A production-ready spa & wellness management application to manage clients, appointments, services, and billing. Built with .NET 10, ASP.NET Core, Blazor Server, MudBlazor, and Vertical Slice Architecture.

Spa, fitness, and wellness businesses struggle with fragmented appointment booking, manual client management, disconnected billing, and no business analytics — limiting growth and profitability.
Client bookings are managed through phone calls, paper logs, and sticky notes. Double bookings and no-shows hurt revenue. Blazor SWM provides a complete booking system with resource scheduling, availability management, and client tracking.
Service sales, packages, and invoices are handled manually leading to billing errors and delayed payments. Blazor SWM integrates the full sales cycle — from order to invoice to payment — with commission tracking for therapists.
Therapist schedules, service assignments, and commissions are tracked in spreadsheets. Blazor SWM centralizes employee management with group categorization, service assignments, and automated commission reports.
Without dashboards, spa owners cannot see which services sell best, which therapists perform, or track revenue trends. Blazor SWM includes KPI dashboards with sales reports, commission reports, and inventory summaries.
Complete end-to-end business features — every module is a complete vertical slice with endpoint, handler, validator, and EF Core queries.
Personal Info, Password, Avatar, Session
Customer Group, Customer Category, Customer, Customer Contact, Vendor Group, Vendor Category, Vendor, Vendor Contact
Employee, Employee Group, Employee Category
Sales Order, Invoice, Payment, Sales Report, Commission Report, Invoice Report, Payment Report
Purchase Order, Bill, Payment, Purchase Report, Bill Report, Payment Report
Unit Measure, Product Group, Product, Warehouse
Booking Group, Booking Resource, Booking Manager, Scheduler, To-Do List
Database log, File log
Users, Currencies, Auto Number
full inspection mode for appsettings.json
Blazor SWM is built on the modern .NET ecosystem with production-grade libraries and tools.
| Layer | Technology |
|---|---|
| Framework | .NET 10 |
| Web Framework | ASP.NET Core 10 |
| UI Rendering | Blazor Server (SignalR-based real-time UI) |
| UI Component Library | MudBlazor (Material Design components for Blazor) |
| Architecture Pattern | Vertical Slice Architecture (VSA) + CQRS via MediatR |
| API Style | ASP.NET Core Minimal APIs with Swagger/OpenAPI |
| Data Access | Entity Framework Core 10 (Code-First, Migrations, Compiled Queries) |
| Database | SQL Server (fully tested) / PostgreSQL (scaffolded) |
| Validation | FluentValidation |
| Authentication | ASP.NET Core Identity + JWT Bearer Token |
| Authorization | Role-Based (RBAC) + Policy-Based Authorization |
| Real-Time | SignalR (built into Blazor Server) |
Blazor SWM uses Vertical Slice Architecture (VSA) with CQRS via MediatR — the modern, maintainable approach to building .NET applications.
Each feature (Create Contact, Get Deal, Update Lead, etc.) lives in its own folder with its Minimal API endpoint, MediatR handler (Command or Query), FluentValidation validator, and EF Core queries all in one place. Zero coupling between features. Add a feature without touching unrelated code.
Folder structure: Features/Products/CreateContact/ contains endpoint, handler, validator, DTO, and mapping — everything for that single operation.
Commands (writes) and Queries (reads) are separated into distinct MediatR handlers. Read queries use EF Core no-tracking for maximum performance. Command handlers encapsulate business logic with full change tracking. Pipeline behaviors handle cross-cutting concerns like validation, logging, and transactions.
Example: GetContactByIdQuery uses .AsNoTracking(). CreateContactCommand uses full change tracking with validation pipeline behavior.
The entire application — Blazor UI, REST API, business logic, data access, and authentication — lives in one .NET 10 project. No distributed complexity, no microservice overhead. Single F5 to run. Deploy as one unit to Azure, IIS, or Docker. Perfect for teams that value simplicity and velocity.
BlazorSWM/
├── Features/ # Vertical Slices (one folder per feature)
│ ├── Products/
│ │ ├── CreateContact/ # Endpoint + Handler + Validator + DTO
│ │ ├── GetContactById/
│ │ ├── GetContactList/
│ │ ├── UpdateContact/
│ │ └── DeleteContact/
│ ├── Warehouses/
│ ├── StockMovements/
│ ├── Inventory/
│ ├── Transfers/
│ └── Dashboard/
├── Infrastructure/ # Cross-cutting: Auth, Audit, EF Core
├── Migrations/ # EF Core migrations
├── SeedData/ # Initial seed data (demo users, sample data)
├── Components/ # Shared Blazor components
├── wwwroot/ # Static assets
└── Program.cs # Single entry point with full configuration
Security is baked into the architecture from the ground up — not bolted on as an afterthought.
Blazor SWM ships with a fully configured authentication and authorization system. ASP.NET Core Identity manages users and roles with secure password hashing. JWT (JSON Web Token) authentication protects all REST API endpoints, while cookie-based authentication handles Blazor Server UI access. Both schemes run simultaneously.
Role-based access control (RBAC) restricts features by user role: Admin (full access), Manager (team-level access), and User (self-service). Policy-based authorization provides fine-grained control for sensitive operations like deal approval or financial reports.
With Blazor Server, source code and connection strings never leave the server. All data access happens server-side via SignalR — zero exposure of database credentials or business logic to the client.
Blazor SWM exposes a complete REST Web API for all entities — ready for mobile apps, third-party integrations, and external systems.
Every feature exposes REST endpoints via ASP.NET Core Minimal APIs. All endpoints are JWT-protected and return proper HTTP status codes.
Same pattern applies to all entities: Companies, Deals, Leads, Activities, and Dashboard aggregations.
/swaggerEF Core migrations, seed data, and flexible deployment options — ready to run in under 60 seconds.
Explore the Blazor SWM interface — dashboards, data management, workflow management, and more.
Test every feature before you buy. No registration required.
Complete, unrestricted C# source code. Single .NET 10 project. Clone, F5, run.
Secure checkout via Lemon Squeezy. Lifetime access. No subscription.
Program.cs.