How lindaabytyqi/chronoscart works
This is a Symfony e-commerce application with product browsing, carts, checkout, inventory reservations, flash sales, dynamic pricing, and asynchronous payment/restocking capabilities represented in the source tree. The likely customer workflow is browsing products, adding items to a cart, and checking out; reservation expiry and payment processing provide supporting operational stages. Only CartController and selected entities were sampled, and there is no README, so most subsystem relationships are shown as unverified rather than asserted as observed calls.
Main entry points: CartController.php Cart · DynamicPricingService.php Dynamic pricing · ReservationController.php Reservations · ReservationExpiryService.php Reservation expiry
Components 28
Shopping
- Product browsing
src/Controller/ProductController.php - Shopfront
src/Controller/ShopController.php - Cart
src/Controller/CartController.php - Product
src/Entity/Product.php
Inventory
- Inventory reservation
src/Entity/InventoryReservation.php - Reservations
src/Controller/ReservationController.php - Stock service
src/Service/StockService.php - Stock cache
src/Service/StockCacheService.php - Reservation expiry
src/Service/ReservationExpiryService.php - Expiry command
src/Command/ReservationsExpireCommand.php - Restock message
src/Message/RestockInventoryMessage.php - Restock handler
src/MessageHandler/RestockInventoryHandler.php
Pricing and sales
- Flash sales
src/Controller/FlashSaleEventController.php - Sale event
src/Entity/FlashSaleEvent.php - Dynamic pricing
src/Service/DynamicPricingService.php - Pricing subscriber
src/EventSubscriber/DynamicPricingSubscriber.php - Price log
src/Entity/PriceLog.php
Orders and payments
- Checkout
src/Controller/CheckoutController.php - Checkout service
src/Service/CheckoutService.php - Order
src/Entity/Order.php - Order items
src/Entity/OrderItems.php - Payment message
src/Message/ProcessPaymentMessage.php - Payment handler
src/MessageHandler/ProcessPaymentHandler.php - Payment failure
src/EventSubscriber/PaymentFailureSubscriber.php
Accounts
- Registration
src/Controller/RegistrationController.php - Authentication
src/Controller/SecurityController.php - User
src/Entity/User.php
Other components
- Customer
Connections 25
- Customer → Product browsing: browses
- Customer → Shopfront: visits
- Customer → Cart: adds items
- Cart → Product: uses product
src/Controller/CartController.php - Cart → Dynamic pricing: uses pricing
src/Controller/CartController.php - Cart → Payment message: dispatches
src/Controller/CartController.php - Cart → Checkout: proceeds to
- Checkout → Checkout service: delegates to
- Checkout service → Order: creates
- Order → Order items: contains
src/Entity/Order.php - Payment message → Payment handler: handled by
- Payment handler → Payment failure: may trigger
- Customer → Reservations: manages reservations
- Reservations → Inventory reservation: uses
- Stock service → Stock cache: uses cache
src/Service/StockService.php - Expiry command → Reservation expiry: runs
- Reservation expiry → Inventory reservation: expires
- Restock message → Restock handler: handled by
src/MessageHandler/RestockInventoryHandler.php - Customer → Flash sales: browses sales
- Flash sales → Sale event: manages
- Pricing subscriber → Dynamic pricing: uses
- Dynamic pricing → Price log: records prices
- Customer → Registration: registers
- Customer → Authentication: authenticates
- Registration → User: creates