tastyigniter/core
Core code for TastyIgniter, a professional restaurant platform for online food ordering and table reservations. Powers the TastyIgniter application and extensions with a Laravel-based framework for building custom ordering systems.
Modularity & Extensibility: The tastyigniter/core package provides a foundational framework for restaurant management systems, with a focus on admin panels, extensions, and core workflows (e.g., orders, reservations, media management). Its architecture is Laravel-centric, leveraging Laravel’s Eloquent ORM, Blade templating, and service containers. The extension system suggests a plugin-based design, which is well-suited for projects requiring customizable restaurant workflows (e.g., POS integrations, loyalty programs).
TemplateSandbox for sanitization, CacheMaker trait for caching), alignment with Laravel’s conventions, and support for multi-tenancy (implied by language/currency/geolocation features). New in v4.4.5: suppressNavigation option on AdminController enables hiding the header/sidebar, increasing flexibility for custom admin layouts.Key Technical Features:
admin:navigation). v4.4.5 adds suppressNavigation for layout control.Cart, Reservations) via Composer.TemplateSandbox). Note: v4.4.5 upgraded enshrined/svg-sanitize from ^0.22 to ^1.0 (major version bump) – potential minor risk if custom extensions rely on old sanitizer API.Risk Assessment:
enshrined/svg-sanitize v0.22 APIs; verify any custom sanitization logic.CacheMaker, HasRelationships).TemplateSandbox). New suppressNavigation option allows conditional layout rendering.igniter:update) with improved confirmation prompts in v4.4.5.console.schedule).laravel/new or laravel/installer.composer require tastyigniter/core:^4.4.5.php artisan migrate) and seeders.config/admin.php and publish assets (php artisan vendor:publish). Optionally set suppressNavigation on controllers for custom layouts.tastyigniter/cart).suppressNavigation reduce custom layout effort?TemplateSandbox cover all XSS vectors for your use case (e.g., custom admin forms)? Does the enshrined/svg-sanitize v1.0 upgrade introduce any behavior changes?withSerializedData() in MailHelper).| Phase | Tasks | Tools/Commands | Risks |
|---|---|---|---|
| 1. Setup Laravel | Initialize Laravel project; configure .env. |
laravel/new, composer create-project |
Version mismatches (PHP/Laravel). |
| 2. Install Core | Add tastyigniter/core (v4.4.5) via Composer; publish config/assets. |
composer require tastyigniter/core:^4.4.5 |
Dependency conflicts (esp. SVG sanitizer). |
| 3. Database | Run migrations; seed initial data (e.g., languages, currencies). | php artisan migrate, php artisan db:seed |
Schema conflicts with existing DB. |
| 4. Admin Panel | Configure admin routes, permissions, and widgets. Optionally use suppressNavigation for custom layouts. |
php artisan vendor:publish --tag=admin |
Custom UI requirements not met. |
| 5. Extensions | Install required extensions (e.g., tastyigniter/cart). |
composer require tastyigniter/cart |
Extension compatibility with v4.4.5. |
| 6. Theming | Customize admin themes or create new ones. | Blade templates, TemplateSandbox |
Sanitization breaking custom templates. |
| 7. Geolocation | Configure Google/Nominatim providers for maps/autocomplete. | config/services.php |
API key costs/rate limits. |
| 8. Testing | Validate core workflows (e.g., orders, reservations) and edge cases (e.g., zero-decimal currency). Test console commands after prompt fixes. | PHPUnit, Laravel Dusk | Undiscovered bugs in extensions. |
illuminate/support, laravel/framework (version-locked).enshrined/svg-sanitize upgraded to ^1.0 (v4.4.5) – ensure any custom code using the sanitizer is compatible with v1 API.guzzlehttp/guzzle (for API calls), spatie/laravel-medialibrary (if using media features).tastyigniter/core (v4.4.5) before extensions.suppressNavigation only after basic layout works.cart, reservations) as needed. Verify each extension against the new SVG sanitizer.enshrined/svg-sanitize may require patching custom extensions.suppressNavigation) may lack detailed examples.suppressNavigation is new; ensure it doesn't conflict with existing theme overrides.suppressNavigation option. Budget 1–2 weeks for full feature familiarity.How can I help you explore Laravel packages today?