Like any other discipline, programmers must dedicate a certain portion of their time to improving their workflow and skillset. This might include working along with a programming video, or practicing a coding kata, or reviewing a new tool. In this series, one topic per episode, we'll review examples of what this developer practice looks like.
In this workshop, we’ll build a voting app, similar to UserVoice, that allows you to create ideas, vote and comment on them, sort and filter the results, and even administer the site. We’ll start from scratch and work through the entire process, including implementing the design, working on all of the features, testing our code, and more. We’ll be making use of the TALL (Tailwind, Alpine, Livewire, Laravel) stack in this particular series.
We don't learn tools for the sake of learning tools. Instead, we learn them because they help us accomplish a particular goal. With that in mind, in this series, we'll use the common desire for a blog - with categories, tags, comments, email notifications, and more - as our goal. Laravel will be the tool that helps us get there. Each lesson, geared toward newcomers to Laravel, will provide instructions and techniques that will get you to the finish line. This version of our popular Laravel From Scratch series was recorded in 2021, and uses Laravel 8.
If you'd like to come along for the ride, I need to write the HTML and CSS for a blog design that we'll be using as part of an upcoming series. We'll be entirely focused entirely on HTML and CSS (using Tailwind), exclusively. This will give us plenty of opportunities to discuss common gotchas and techniques. We'll even run into a roadblock here and there.
Inertia.js allows you to build single-page applications, while still allowing Laravel to be responsible for routing, controllers, authorization, policies, and more. Think of it like the glue that connects a server-side framework like Laravel, to a client-side framework like Vue. Despite all the hype, I'm only just now taking a first look at all that Inertia has to offer. If you're in the same position, why don't you come along and we'll learn it together?
For such a simple concept, modals can often be tricky to implement. Where exactly do we place them? Where should the event listeners to toggle their display be stored? And how to we make them dynamic? In this series, one piece at a time, we'll discuss everything you need to know about modals within the TALL (Tailwind, Alpine, Laravel, Livewire) stack.
It's time for a new entry in our "How to Read Code" series. This season, we'll dive into the Laravel Breeze source code, taking every opportunity to peek behind the scenes to learn how and why it was constructed in this way. While it's often unnecessary to review the underlying code of the packages and tools you use, that doesn't mean you won't benefit from doing so. If you want to become a better programmer, you must learn, read, and write a lot of code. This series focuses on the reading.
As web developers, we use a wealth of software and tools to get our work done. Some are obvious, such as code editors, IDEs and terminals, while others offer minor optimizations to our workflows. In this series, we’ll go over all the software and tools that I personally use for web development, as well as my personal settings for each. I’ve picked up countless tips from watching other developers' workflows over the years, and I hope do the same for you in this series.
Real-life programming isn't always glamorous. You're not always launching fancy new interactive features backed by weeks of marketing and hype. In fact, that's rarely the case. Instead, much of the time, we work on boring fixes and general maintenance of packages and tools that, frankly, not many people use. This is the reality. In that spirit, for season one of our new "Pull Up a Seat" series, come along as I work on extending the API for my laracasts/cypress package. We'll cover everything from the initial tinkering, all the way up to tagging a new release.
Laravel offers several options for Authentication in your applications. If you'd prefer a head start, you might reach for one of the available first-party packages that provide robust, modern scaffolding for your authentication layer. For example, Laravel Breeze is an excellent choice to get up and running quickly. If you require additional features, Laravel Jetstream offers two-factor auth, API tokens and team management. If you'd instead prefer to use your own front-end stack, you might consider Laravel Fortify as the backend implementation. In this series, we'll review how to use and customize these packages in order to fit the authentication needs of your application.
There's no two ways about it: terminology in the testing world is incredibly overwhelming. Mocks, stubs, and dummies oh my! Let's see if we can cut through the noise. Come along as, bit by bit, we break all of these confusing concepts down into something you can easily understand and implement within your own projects.
Laravel Dusk provides an expressive testing API and browser automation for your apps. In terms of testing, it provides the closest thing to an actual user interacting with your application in a browser. These tests are typically referred to as end to end tests or browser tests. In this series, we’ll prepare a series of Dusk tests for a standard blog application.
Laravel Cashier provides an expressive, fluent interface to Stripe's (and Paddle's) subscription billing services. In this series, we’ll take a look at the features of Cashier that will allow you to create the billing portion of a subscription-based SAAS app, including subscribing users to plans, authorizing with middleware, single charges, and invoices.
If you are lucky enough to build a popular community, then your reward is a never-ending onslaught of spam. It's a simple reality; there's no getting around it. In this series, I'll show you a variety of useful techniques for preventing spam at every turn. We'll review everything from basic keyword matching, to honeypots, to reCAPTCHA.
Laravel Scout is a powerful, full-text search package for your Eloquent models. Follow the basic setup instructions, and within minutes you'll be triggering lightning-fast search queries with Algolia. In this short series, come a long as I demonstrate everything you need to know.