Download the PHP package litepie/masters without Composer
On this page you can find all versions of the php package litepie/masters. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download litepie/masters
More information about litepie/masters
Files in litepie/masters
Package masters
Short Description Laravel package for managing master data with multi-tenancy support
License MIT
Informations about the package masters
Laravel Masters Package
A comprehensive Laravel package for managing master data with advanced multi-tenancy support. This package provides a robust foundation for handling reference data like countries, states, cities, categories, currencies, languages, and custom master data types in multi-tenant Laravel applications.
Table of Contents
- Features
- Requirements
- Installation
- Configuration
- Quick Start
- Multi-Tenancy
- Master Data Types
- Usage Examples
- API Documentation
- Console Commands
- Admin Interface
- Advanced Features
- Testing
- Contributing
- License
Features
🏢 Multi-Tenant Architecture
- Flexible Tenancy Strategies: Single database, multi-database, or schema-based isolation
- Global vs Tenant Data: Share common data globally while maintaining tenant-specific customizations
- Automatic Tenant Scoping: Built-in query scoping for seamless tenant isolation
- Tenant Context Management: Easy tenant switching with context preservation
📊 Comprehensive Master Data Management
- Pre-built Data Types: Countries, states, cities, categories, currencies, languages
- Custom Master Types: Create unlimited custom master data types with validation rules
- Hierarchical Support: Unlimited parent-child relationships with tree traversal
- Rich Metadata: Store additional data and metadata for each master record
🚀 Performance & Scalability
- Smart Caching: Automatic caching with configurable TTL and cache invalidation
- Laravel 12 Cache Tags: Enhanced cache tagging for better invalidation
- Atomic Cache Locks: Prevent cache stampede with Laravel 12's atomic locks
- Optimized Queries: Efficient database queries with eager loading support
- Lazy Collections: Memory-efficient handling of large datasets
- Bulk Operations: High-performance import/export capabilities
- Database Indexing: Optimized database indexes for fast lookups
- Connection Pooling: Database connection pooling for better performance
🔧 Developer Experience
- Eloquent Integration: Seamless integration with Laravel's Eloquent ORM
- Facade Support: Clean, expressive API through Laravel facades
- Validation Framework: Built-in validation with customizable rules
- Event System: Hook into create, update, delete events
🌐 API & Web Interface
- RESTful API: Complete REST API with filtering, searching, and pagination
- Laravel 12 Enhancements: JSON:API support, OpenAPI specifications
- Enhanced Request Validation: Laravel 12's improved validation features
- API Resources: Eloquent API Resources for consistent JSON responses
- Admin Panel: Web-based administration interface
- Import/Export: Support for CSV, JSON, and Excel formats
- Rate Limiting: Built-in API rate limiting and throttling with Laravel 12 improvements
🔒 Security & Reliability
- Soft Deletes: Safe data deletion with recovery options
- Audit Trail: Track all changes with comprehensive logging
- Data Validation: Multi-layer validation for data integrity
- Permission Integration: Works with Laravel's authorization system
Requirements
- PHP 8.2 or higher
- Laravel 10.0, 11.0, or 12.0
- MySQL 8.0+ / PostgreSQL 13+ / SQLite 3.8+
- Redis (recommended for caching in Laravel 12)
Installation
Step 1: Install via Composer
Step 2: Publish Package Assets
Step 3: Run Database Migrations
Step 4: Install and Setup Package
Configuration
The package configuration file config/masters.php
provides extensive customization options:
Multi-Tenancy Strategy
Cache Configuration
API Settings
Quick Start
Basic Usage with Facade
Using Eloquent Models Directly
Multi-Tenancy
Tenant Context Management
Global vs Tenant-Specific Data
Master Data Types
Default Master Types
The package comes with these pre-configured master types:
- Countries (Global): ISO countries with codes
- States/Provinces (Global): Hierarchical under countries
- Cities (Global): Hierarchical under states
- Categories (Tenant-specific): Product/service categories
- Currencies (Global): ISO currencies with codes
- Languages (Global): ISO languages with codes
Creating Custom Master Types
Usage Examples
Hierarchical Data Operations
Advanced Querying
Bulk Operations
API Documentation
Authentication
All API endpoints support standard Laravel authentication and can be protected with middleware:
Endpoints
Master Types
Master Data
Convenience Endpoints
Request/Response Examples
Create Master Data
Response:
Get Hierarchical Data
Response:
Console Commands
Installation & Setup
Data Import
Maintenance
Admin Interface
Accessing the Admin Panel
The package provides a web-based admin interface accessible at /admin/masters
(configurable):
- Dashboard: Overview of all master types and data counts
- Master Types Management: Create, edit, delete master types
- Master Data Management: CRUD operations for all master data
- Import/Export Interface: Web-based bulk operations
- Search & Filter: Advanced search across all data types
Customizing Admin Routes
Advanced Features
Custom Validation Rules
Event Hooks
Custom Cache Strategies
Database Optimization
Testing
Unit Tests
API Tests
Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Development Setup
Changelog
Please see CHANGELOG.md for recent changes.
Security
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
Credits
- Lavalite Team
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of masters with dependencies
laravel/framework Version ^10.0|^11.0|^12.0
spatie/laravel-permission Version ^6.0|^7.0
spatie/laravel-multitenancy Version ^3.0|^4.0