baks-dev/orders-order
Laravel/Symfony модуль системных заказов: статусы заказов через OrderStatusInterface и тег baks.order.status, асинхронная обработка через Messenger воркер orders-order, интеграция с Centrifugo, миграции Doctrine, установка ресурсов baks:assets:install.
Architecture Fit
OrderStatusInterface pattern enables open/closed principle compliance, allowing custom statuses without modifying core logic. This is critical for platforms needing flexible workflows (e.g., B2B approvals, subscriptions).products-stocks, delivery, centrifugo). This may limit microservice adoption but simplifies cross-cutting concerns (e.g., inventory sync).Integration Feasibility
orders table schema differs (e.g., custom columns like vendor_id for marketplaces).Technical Risk
baks-dev/* packages have no stars/dependents, suggesting low adoption and potential abandonment risk. Critical if the package evolves rapidly (e.g., breaking changes in v8.x).orders-order group) may hide edge cases (e.g., concurrent status transitions, race conditions).Key Questions
baks-dev packages introduce breaking changes?Stack Fit
baks:assets:install).Migration Path
orders table schema for conflicts (e.g., missing columns like status_history).OrderStatusInterface.centrifugo, products-stocks).composer.json with strict version constraints to avoid dependency conflicts.php bin/console doctrine:migrations:diff to generate schema changes.orders table (e.g., rename columns, add indexes).docker run -p 8000:8000 -p 8001:8001 centrifugo/centrifugo
config/centrifugo.php).php bin/console messenger:consume orders-order --limit=10 --time-limit=60
Centrifuge library) to listen to order channels.const centrifuge = new Centrifuge('ws://centrifugo:8000/connection/websocket');
centrifuge.connect().then(() => {
centrifuge.subscribe('order_updates', (data) => {
console.log('Order updated:', data);
});
});
OrderStatusInterface for custom workflows (e.g., SubscriptionPauseStatus).#[AutoconfigureTag('baks.order.status')].php bin/phpunit --group=orders-order
Compatibility
OrderStatusInterface.orders data.Sequencing
Maintenance
baks-dev/* packages for updates/breaking changes.composer constraints to avoidHow can I help you explore Laravel packages today?