├── public ├── favicon.ico ├── robots.txt ├── .htaccess └── index.php ├── resources ├── css │ └── app.css ├── js │ ├── app.js │ └── bootstrap.js └── views │ └── welcome.blade.php ├── database ├── .gitignore ├── seeders │ └── DatabaseSeeder.php ├── migrations │ ├── 2014_10_12_100000_create_password_reset_tokens_table.php │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2019_08_19_000000_create_failed_jobs_table.php │ └── 2019_12_14_000001_create_personal_access_tokens_table.php └── factories │ └── UserFactory.php ├── bootstrap ├── cache │ └── .gitignore └── app.php ├── storage ├── logs │ └── .gitignore ├── app │ ├── public │ │ └── .gitignore │ └── .gitignore └── framework │ ├── testing │ └── .gitignore │ ├── views │ └── .gitignore │ ├── cache │ ├── data │ │ └── .gitignore │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── modules ├── Order │ ├── Ui │ │ ├── Views │ │ │ ├── alert.blade.php │ │ │ ├── components │ │ │ │ └── order-line.blade.php │ │ │ ├── emails │ │ │ │ ├── payment_failed.blade.php │ │ │ │ └── order_received.blade.php │ │ │ └── checkout │ │ │ │ └── index.blade.php │ │ ├── ViewComponents │ │ │ └── Alert.php │ │ └── routes.php │ ├── Infrastructure │ │ ├── config.php │ │ ├── Providers │ │ │ ├── RouteServiceProvider.php │ │ │ ├── OrderServiceProvider.php │ │ │ └── EventServiceProvider.php │ │ └── Database │ │ │ ├── Factories │ │ │ └── OrderLineFactory.php │ │ │ └── Migrations │ │ │ ├── 2023_05_01_022242_create_orders_table.php │ │ │ └── 2023_05_01_023415_create_order_lines_table.php │ ├── Tests │ │ ├── OrderTestCase.php │ │ ├── Models │ │ │ └── OrderTest.php │ │ ├── Checkout │ │ │ ├── OrderStartedTest.php │ │ │ ├── OrderReceivedTest.php │ │ │ ├── NotifyUserOfPaymentFailureTest.php │ │ │ └── PurchaseItemsTest.php │ │ └── Http │ │ │ └── Controllers │ │ │ └── CheckoutControllerTest.php │ ├── OrderMissingOrderLinesException.php │ ├── Contracts │ │ ├── PendingPayment.php │ │ ├── OrderDto.php │ │ └── OrderLineDto.php │ ├── CompleteOrder.php │ ├── Checkout │ │ ├── SendOrderConfirmationEmail.php │ │ ├── OrderStarted.php │ │ ├── MarkOrderAsFailed.php │ │ ├── NotifyUserOfPaymentFailure.php │ │ ├── CheckoutRequest.php │ │ ├── OrderReceived.php │ │ ├── PaymentForOrderFailed.php │ │ ├── PurchaseItems.php │ │ └── CheckoutController.php │ ├── OrderLine.php │ └── Order.php ├── Product │ ├── config │ │ └── config.php │ ├── src │ │ ├── Http │ │ │ └── routes.php │ │ ├── DTOs │ │ │ ├── CartItem.php │ │ │ └── ProductDto.php │ │ ├── Warehouse │ │ │ └── ProductStockManager.php │ │ ├── Providers │ │ │ ├── EventServiceProvider.php │ │ │ ├── RouteServiceProvider.php │ │ │ └── ProductServiceProvider.php │ │ ├── Models │ │ │ └── Product.php │ │ ├── Events │ │ │ └── DecreaseProductStock.php │ │ └── Collections │ │ │ └── CartItemCollection.php │ ├── Tests │ │ └── ProductTest.php │ └── database │ │ ├── Factories │ │ └── ProductFactory.php │ │ └── Migrations │ │ ├── 2023_05_01_022230_create_products_table.php │ │ └── 2023_05_01_022235_create_cart_items_table.php ├── Shipment │ ├── config.php │ ├── routes.php │ ├── Models │ │ └── Shipment.php │ ├── Providers │ │ ├── ShipmentServiceProvider.php │ │ └── RouteServiceProvider.php │ └── Database │ │ └── Migrations │ │ └── 2023_05_01_022837_create_shipments_table.php ├── Payment │ ├── PaymentProvider.php │ ├── PaymentGateway.php │ ├── PaymentDetails.php │ ├── SuccessfulPayment.php │ ├── Exceptions │ │ └── PaymentFailedException.php │ ├── PaymentSucceeded.php │ ├── PaymentFailed.php │ ├── Actions │ │ ├── CreatePaymentForOrderInterface.php │ │ ├── CreatePaymentForOrder.php │ │ └── CreatePaymentForOrderInMemory.php │ ├── Infrastructure │ │ ├── Providers │ │ │ ├── EventServiceProvider.php │ │ │ └── PaymentServiceProvider.php │ │ └── Database │ │ │ ├── Factories │ │ │ └── PaymentFactory.php │ │ │ └── Migrations │ │ │ └── 2023_07_29_022242_create_payments_table.php │ ├── InMemoryGateway.php │ ├── Payment.php │ ├── Tests │ │ ├── PaymentSucceededTest.php │ │ ├── PaymentFailedTest.php │ │ └── PayOrderTest.php │ ├── PayBuddyGateway.php │ ├── PayOrder.php │ └── PayBuddySdk.php └── User │ └── UserDto.php ├── tests ├── TestCase.php ├── Unit │ └── ExampleTest.php ├── Feature │ └── ExampleTest.php └── CreatesApplication.php ├── .gitattributes ├── package.json ├── vite.config.js ├── .gitignore ├── .editorconfig ├── app ├── Http │ ├── Controllers │ │ └── Controller.php │ ├── Middleware │ │ ├── EncryptCookies.php │ │ ├── VerifyCsrfToken.php │ │ ├── PreventRequestsDuringMaintenance.php │ │ ├── TrimStrings.php │ │ ├── TrustHosts.php │ │ ├── Authenticate.php │ │ ├── ValidateSignature.php │ │ ├── TrustProxies.php │ │ └── RedirectIfAuthenticated.php │ └── Kernel.php ├── Providers │ ├── BroadcastServiceProvider.php │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── Console │ └── Kernel.php ├── Exceptions │ └── Handler.php └── Models │ └── User.php ├── routes ├── web.php ├── channels.php ├── api.php └── console.php ├── README.md ├── config ├── cors.php ├── services.php ├── view.php ├── hashing.php ├── broadcasting.php ├── sanctum.php ├── filesystems.php ├── cache.php ├── queue.php ├── mail.php ├── auth.php ├── logging.php ├── database.php ├── app.php └── session.php ├── .env.example ├── phpunit.xml ├── artisan ├── composer.json └── _ide_helper_models.php /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/css/app.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite* 2 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | import './bootstrap'; 2 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /modules/Order/Ui/Views/alert.blade.php: -------------------------------------------------------------------------------- 1 | {{ $message }} 2 | -------------------------------------------------------------------------------- /modules/Product/config/config.php: -------------------------------------------------------------------------------- 1 | 10, 5 | ]; 6 | -------------------------------------------------------------------------------- /modules/Order/Infrastructure/config.php: -------------------------------------------------------------------------------- 1 | 10, 5 | ]; 6 | -------------------------------------------------------------------------------- /modules/Order/Ui/Views/components/order-line.blade.php: -------------------------------------------------------------------------------- 1 |
54 | Laravel has wonderful documentation covering every aspect of the framework. Whether you are a newcomer or have prior experience with Laravel, we recommend reading our documentation from beginning to end. 55 |
56 |74 | Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process. 75 |
76 |94 | Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials. 95 |
96 |114 | Laravel's robust library of first-party tools and libraries, such as Forge, Vapor, Nova, and Envoyer help you take your projects to the next level. Pair them with powerful open source libraries like Cashier, Dusk, Echo, Horizon, Sanctum, Telescope, and more. 115 |
116 |