SlappFramework.Template 1.0.1

dotnet new install SlappFramework.Template::1.0.1
                    
This package contains a .NET Template Package you can call from the shell/command line.

Welcome to SlappFramework!

a SQL-centric, CRUD-blasting web app starting point - supports Excel imports, grid editing, and form workflows with zero validation code.

Quick Start (4 Steps)

0. Configure EPPlus License (REQUIRED)

EPPlus requires license configuration before first use. Edit these two files and uncomment ONE line in each based on your usage:

Files to edit:

  • Services/ExcelTemplateGenerator.cs (around line 54)
  • Services/ExcelImporter.cs (around line 40)

Choose ONE option in each file:

// For personal non-commercial use (free):
ExcelPackage.License.SetNonCommercialPersonal("Your Name");

// For non-commercial organization (free):
ExcelPackage.License.SetNonCommercialOrganization("Organization Name");

// For commercial use (requires paid license from https://epplussoftware.com):
ExcelPackage.License.SetCommercial("<Your License Key>");

1. Configure Database

Update appsettings.json with your SQL Server connection string:

"ConnectionStrings": {
  "DefaultConnection": "Server=localhost;Database=YourDatabase;Integrated Security=true;TrustServerCertificate=true;"
}

2. Install Database Infrastructure

Execute SqlScripts/CreateBulkOpsInfrastructure.sql against your database.

This creates the ZZ_SlappFramework schema with all necessary metadata tables, validation stored procedures, and scaffolding tools.

3. Scaffold Your First Feature

Run scaffolding stored procedures for your domain tables:

-- Example: Create a bulk insert feature for your "Products" table
EXEC ZZ_SlappFramework.ScaffoldAn_INSERT_Feature
    @DomainSchemaName = 'dbo',
    @DomainTableName = 'Products'

That's it! Run your app and features appear in the menu automatically.

What You Get

Six data operations scaffolded out-of-the-box:

  • insertViaForm - Single-record form entry
  • insertViaExcel - Download template → Edit offline → Upload
  • insertViaHandsontable - Excel-like grid editing (inline)
  • updateViaForm - Edit single records
  • updateViaExcel - Select rows → Download → Edit → Upload
  • updateViaHandsontable - Bulk edit in grid

All workflows include:

  • Automatic constraint validation (your staging table = your validator)
  • Foreign key dropdown support
  • Rich error messages with collapsible error panels
  • Transaction-based processing
  • Excel import/export with FK dropdown sheets

The Core Concept

Instead of writing validation code, design proper table constraints:

CREATE TABLE dbo.Products (
    ProductName NVARCHAR(100) NOT NULL,
    Price DECIMAL(10,2) CHECK (Price > 0),
    CategoryID INT NOT NULL
        FOREIGN KEY REFERENCES dbo.Categories(CategoryID),
    -- Scaffolding generates a staging table to enforce ALL of this automatically
)

SlappFramework bulk-copies your data to the staging table, SQL Server enforces constraints, and the framework collects detailed error messages. Only valid data proceeds to your domain tables.

Result: Zero validation code. Data as valid as your staging table. Guaranteed.

Built For

SlappFramework is designed for:

  • SQL Lovers - Developers who prefer SQL programming and want to leverage database capabilities fully
  • Enterprise Apps - Internal business applications requiring bulk data management
  • Rapid Development - Teams wanting to avoid months of grid/Excel integration work
  • Constraint-Driven Design - Projects where the database schema is the source of truth

Technology Stack

Backend: .NET 8.0, C# 12, SQL Server 2019+, Dapper, SqlBulkCopy, EPPlus, CsvHelper

Frontend: ASP.NET Core, Razor Views, Bootstrap 5, Handsontable, AG-Grid, Select2

Distribution: NuGet project template

Commercial Licensing

⚠️ Important: SlappFramework uses Handsontable and EPPlus, which require commercial licenses for production use (~$1,200-1,400/developer/year). Free for non-commercial use. View full licensing details

Project Structure

├── Controllers/
│   ├── HomeController.cs      # Main UI controller
│   └── DataController.cs      # REST API endpoints
├── Services/
│   ├── BulkOpsHelper.cs       # Core validation engine
│   ├── DataService.cs         # SQL Server wrapper
│   ├── ExcelTemplateGenerator.cs
│   └── ExcelImporter.cs
├── Models/                     # Data models and DTOs
├── Views/Home/                 # Razor views
├── wwwroot/                    # Static assets
└── SqlScripts/
    └── CreateBulkOpsInfrastructure.sql

Next Steps

  1. Run the app and explore the scaffolded features
  2. Review Docs_Misc/SlappFramework-LLM-Context.md for architecture details
  3. Scaffold features for your own domain tables
  4. Customize domain processing sprocs for your business logic
  5. Configure commercial license keys for Handsontable and EPPlus (if using commercially)

Support & Feedback


  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 195 3/5/2026
1.0.0 479 11/8/2025 1.0.0 is deprecated.
0.2.0-alpha 329 11/8/2025
0.1.0-alpha 408 10/28/2025