In this workshop, we'll focus exclusively on the open-closed principle (the O in SOLID). Using real-life code, line by line, we'll refactor a confusing class into something far more manageable and extendable. Once finished, we'll have gained the luxury of introducing new functionality, not by modifying existing code, but by instead writing a new class.
In this series, we'll build a video game app that pulls data from the IGDB API and displays game information such as popular titles, coming soon, videos, and screenshots. We'll explore a variety of front-end features with Laravel and other technologies, including the HTTP client, Tailwind CSS, Livewire and Alpine.js.
This series is exclusively focused on the art of refactoring code. Make a small change, run the tests, and then make another small change. Each episode provides a variety of long-form examples and pitfalls using real life code. Please note that this series is not chronological. Each episode is unique and may be viewed in any order.
While many courses at Laracasts focus on the workflow of building something entirely from scratch, this one is a bit different. Come along as I work on the Laracasts codebase, itself. Each episode is unique. One might cover a new Vue component we need for the UI. Another episode may require that we TDD a new feature entirely. So pull up a chair and let's get to work.
Ever wonder how a front-end framework works under the hood? In this series, I (the creator of AlpineJS) will walk you through what it takes to actually build one from scratch. By the end of the series, you will learn what’s involved in creating a modern, reactive, front-end framework by actually building one yourself. It’s easier than you might think!
Many Laravel apps don’t warrant the complexity of a full front-end framework like Vue or React. In this series, we’ll walk through a handful of simple ways to add dynamic functionality to your apps. By combining various strategies, you can keep your simple Laravel stack, but still build interfaces that feel fast, fresh, and dynamic.
It's time to take the techniques we learned in Laravel From Scratch, and put them to good use building your first real-world application. Together, we'll leverage TDD to create Birdboard: a minimal Basecamp-like project management app. This series will give us a wide range of opportunities to pull up our sleeves and test our Laravel chops. As always, we start from scratch: laravel new birdboard.
Together, in this series we'll add an "Unlockable Badge" feature to the Laracasts website. Perhaps when a user reaches a certain XP threshold, they unlock a badge. Or when they reach 500 "Best Answer" slots, they earn yet another badge. You get the idea. Let's research and implement this feature using TDD from scratch.
Laravel ships with a small handful of custom front-end presets, but if you'd like to tailor the scaffolding specifically to your needs and preferences, no problem! It's easy. If you have a half-hour to spare, in this series I'll show you exactly how to tweak the configuration.
To improve as a developer, you must focus on three things: learning, reading, and writing. Or, in other words, learn from somebody more seasoned than you; read a lot of code; and write your own code daily. This series will focus on the reading component. Together, we'll mentally parse an open source project. How was it constructed? What are the routing conventions? How are the controllers structured?
Managing a popular open source project can be daunting at first. How do we maintain all these issues, or automatically trigger our test suite for incoming PRs? And what's a useful workflow for brainstorming and adding new features? In this series, together, we'll manage and maintain an open source forum, called Council, that we originally built from scratch here at Laracasts.
A forum is a deceptively complex thing. Sure, it's made up of threads and replies, but what else might exist as part of a forum? What about profiles, or thread subscriptions, or filtering, or real-time notifications? As it turns out, a forum is the perfect project to stretch your programming muscles. In this series, we'll work together to build one with tests from A to Z.
No longer do we require brick and mortar shops to sell our products. Have you written a book? Great! You can set up a webpage to sell it in a matter of minutes. It's that easy at this point, as long as you have a touch of programming knowledge. In this series, we'll review the ins and outs of accepting payments and subscriptions through Stripe.
While Laravel offers a robust, traditional authentication setup out of the box, you may find that you require unique setups for certain projects. Perhaps one application should leverage GitHub for its sign in functionality. Maybe another app only requires password-less authentication. In this series, we'll review a number of techniques for authenticating your users.
Popularized in the Rails world, Russian Doll caching is an interesting approach, where you create nested fragment caches for your view logic. If you then link the keys for each of these cached items to the model's "updated at" timestamp, what you get is easy caching for your view logic, and automatic cachebusting whenever the model is updated. In this series, we'll build a custom package from scratch to offer this very functionality.