PHPackages                             ssnukala/sprinkle-crud5 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. ssnukala/sprinkle-crud5

ActiveUserfrosting-sprinkle[Admin Panels](/categories/admin)

ssnukala/sprinkle-crud5
=======================

CRUD Module for UserFrosting 5.0.

0.6.5(1y ago)017MITPHPPHP ^8.0

Since Dec 23Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/ssnukala/sprinkle-crud5)[ Packagist](https://packagist.org/packages/ssnukala/sprinkle-crud5)[ Docs](https://github.com/userfrosting/UserFrosting)[ RSS](/packages/ssnukala-sprinkle-crud5/feed)WikiDiscussions main Synced yesterday

READMEChangelog (10)Dependencies (15)Versions (16)Used By (0)

CRUD5 Sprinkle for UserFrosting 5.x
===================================

[](#crud5-sprinkle-for-userfrosting-5x)

[![Version](https://camo.githubusercontent.com/f8a72d53c46b727f2660924d9456fb7cdba99af9e46ce31d5494cb49788267b7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d352e302e302d626c75652e737667)](https://github.com/ssnukala/sprinkle-crud5)[![License](https://camo.githubusercontent.com/8bb50fd2278f18fc326bf71f6e88ca8f884f72f179d3e555e20ed30157190d0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e737667)](LICENSE.md)[![UserFrosting](https://camo.githubusercontent.com/1868f388dcd471e1b2f7ca34578ab656fd94908d77c5d60310a1b18203c4e72a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5573657246726f7374696e672d352e782d627269676874677265656e2e737667)](https://www.userfrosting.com)

A powerful, schema-driven CRUD (Create, Read, Update, Delete) system for UserFrosting 5.x that allows you to rapidly build complete CRUD interfaces through simple YAML configuration files.

✨ Features
----------

[](#-features)

- **🚀 Rapid Development**: Create full CRUD interfaces in minutes with YAML configuration
- **📋 Schema-Driven**: Define tables, columns, validations, and forms using YAML
- **🎨 Consistent UI**: Uniform interface across all CRUD operations using AdminLTE
- **🔒 Permission-Based**: Built-in permission system integrated with UserFrosting
- **📝 Auto Forms**: Automatic form generation with client &amp; server-side validation
- **📊 Data Tables**: Sortable, filterable, paginated tables with Sprunje
- **🔧 Extensible**: Easy to customize controllers, views, and business logic
- **✅ Type-Safe**: Leverages PHP 8+ features with strict typing

📖 Documentation
---------------

[](#-documentation)

**Complete documentation is available in [DOCUMENTATION.md](DOCUMENTATION.md)**

The documentation includes:

- Detailed installation instructions
- Complete architecture overview
- Configuration guide with examples
- Usage examples and best practices
- API reference
- Advanced topics and customization
- Troubleshooting guide

🚀 Quick Start
-------------

[](#-quick-start)

### Installation

[](#installation)

```
composer require ssnukala/sprinkle-crud5
```

### Register Sprinkle

[](#register-sprinkle)

```
// app/src/MyApp.php
use UserFrosting\Sprinkle\CRUD5\CRUD5;

public function getSprinkles(): array
{
    return [
        Core::class,
        Account::class,
        Admin::class,
        AdminLTE::class,
        CRUD5::class,  // Add this
    ];
}
```

### Run Migrations

[](#run-migrations)

```
php bakery migrate
npm install
npm run build
```

### Create Your First CRUD Interface

[](#create-your-first-crud-interface)

Create `app/schema/crud5/products.yaml`:

```
---
model: products
title: Product Management
description: Manage products inventory
permission: c5_user

table:
  id: table-products
  css-class: crud5-table
  columns:
    name:
      label: "PRODUCT NAME"
      sortable: true
      searchable: true
    price:
      label: "PRICE"
      sortable: true
    actions:
      label: "ACTIONS"
      template: actions
```

Create request schema `app/schema/requests/products/create.yaml`:

```
name:
  validators:
    required:
      message: "Product name is required"
    length:
      max: 255
  form:
    type: text
    label: "Product Name"
    placeholder: "Enter product name"

price:
  validators:
    required:
      message: "Price is required"
    numeric:
      message: "Must be a number"
  form:
    type: number
    label: "Price"
    step: "0.01"
```

Copy `create.yaml` to `edit-info.yaml`, then access: **`/crud5/products`**

**That's it!** You now have a complete CRUD interface with list, create, edit, and delete functionality.

🎯 Key Components
----------------

[](#-key-components)

### Routes

[](#routes)

PatternDescription`/crud5/{slug}`List view page`/api/crud5/{slug}`API endpoints (GET, POST, PUT, DELETE)`/modals/crud5/{slug}/create`Create modal form`/modals/crud5/{slug}/edit`Edit modal form### Controllers

[](#controllers)

- **BasePageListAction** - List views with Sprunje
- **BaseCreateAction** - Create records
- **BaseEditAction** - Update records
- **BaseDeleteAction** - Delete records
- **BaseEditModal** - Form modals

### Configuration Files

[](#configuration-files)

- `app/schema/crud5/{table}.yaml` - Table configuration
- `app/schema/requests/{table}/create.yaml` - Create form schema
- `app/schema/requests/{table}/edit-info.yaml` - Edit form schema

💡 Example Use Cases
-------------------

[](#-example-use-cases)

- User management systems
- Product catalogs
- Content management
- Inventory tracking
- Any database table CRUD operations

🛠️ Requirements
---------------

[](#️-requirements)

- PHP ≥ 8.0
- UserFrosting ≥ 5.0
- FormGenerator ~5.1.0
- AdminLTE Theme ≥ 5.0

📚 Features In Detail
--------------------

[](#-features-in-detail)

### Dynamic CRUD Operations

[](#dynamic-crud-operations)

Complete Create, Read, Update, Delete operations for any table through configuration alone.

### Schema-Driven Configuration

[](#schema-driven-configuration)

Define everything in YAML: columns, validation rules, form fields, permissions, display templates.

### Permission System

[](#permission-system)

Built-in permissions (`c5_user`, `c5_admin`) with support for custom permissions.

### Form Generation

[](#form-generation)

Automatic forms with validation using FormGenerator library.

### Data Tables

[](#data-tables)

Sortable, searchable, paginated tables using Sprunje.

### Middleware Injection

[](#middleware-injection)

Automatic model loading and injection based on routes.

### Extensibility

[](#extensibility)

Easy to extend with custom controllers, validators, templates, and business logic.

🤝 Contributing
--------------

[](#-contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License
---------

[](#-license)

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.

👤 Author
--------

[](#-author)

**Srinivas Nukala**

- Website:
- GitHub: [@ssnukala](https://github.com/ssnukala)

🙏 Acknowledgments
-----------------

[](#-acknowledgments)

Built with:

- [UserFrosting](https://www.userfrosting.com) - PHP framework
- [FormGenerator](https://github.com/lcharette/UF_FormGenerator) - Dynamic forms
- [AdminLTE](https://adminlte.io) - Admin theme

📖 Further Reading
-----------------

[](#-further-reading)

- [Complete Documentation](DOCUMENTATION.md)
- [UserFrosting Documentation](https://learn.userfrosting.com)
- [GitHub Repository](https://github.com/ssnukala/sprinkle-crud5)

---

**Note**: For complete installation instructions, configuration options, API reference, and advanced usage, please refer to [DOCUMENTATION.md](DOCUMENTATION.md).

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance52

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~34 days

Recently: every ~14 days

Total

14

Last Release

480d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5246509?v=4)[ssnukala](/maintainers/ssnukala)[@ssnukala](https://github.com/ssnukala)

---

Top Contributors

[![ssnukala](https://avatars.githubusercontent.com/u/5246509?v=4)](https://github.com/ssnukala "ssnukala (28 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (10 commits)")

---

Tags

cruduserfrostingphp user managementSprinkle

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ssnukala-sprinkle-crud5/health.svg)

```
[![Health](https://phpackages.com/badges/ssnukala-sprinkle-crud5/health.svg)](https://phpackages.com/packages/ssnukala-sprinkle-crud5)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[userfrosting/userfrosting

A secure, modern user management system for PHP.

1.7k11.5k](/packages/userfrosting-userfrosting)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[v.chetkov/php-clean-architecture

PHP Clean Architecture

14661.1k](/packages/vchetkov-php-clean-architecture)[ahmed-bhs/doctrine-doctor

Runtime analysis tool for Doctrine ORM integrated into Symfony Web Profiler. Unlike static linters, it analyzes actual query execution at runtime to detect performance bottlenecks, security vulnerabilities, and best practice violations during development with real execution context and data.

9410.8k](/packages/ahmed-bhs-doctrine-doctor)[aeliot/todo-registrar

Register TODOs from source code in issue tracker

153.0k](/packages/aeliot-todo-registrar)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
