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.
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.
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.
As part of the Laravel 7 release, we gained access to supercharged Blade components. What's exciting about this is the fact that it can fundamentally change how you go about constructing the view layer of your applications. In this series, one component per episode, I'll show you a wide range of practical examples that you can freely use in your own projects.
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.
Learning about queues can be a daunting task. It's not fun to be met with confusing jargon that you can't decipher. But that's what I'm here for. Let's incrementally break it all down into small steps that anyone can understand. In no time, you'll be throwing delayed jobs onto the queue like a pro.
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.
Once your application reaches a certain size, it might prove useful to prepare a staging server. With this setup, all new features and additions would first be deployed to a testing branch for your team (or yourself). Only after you've reviewed and approved the changes would the code then be deployed to production. In this series, we'll use Laravel Forge, Hover, and Cloudflare to build and configure a staging server from scratch. We'll also discuss a few key gotchas you might run into.
The latest first-party offering from the creators of Laravel is finally here. Laravel Nova is a gorgeous backend tool for configuring and administering your various database tables. In this series, Marcel Pociot will demonstrate how to get up and running with Nova as quickly as possible. From the basic installation steps, all the way up to generating metrics and custom themes, this is your one-stop shop for Nova mastery. Ready to get started?
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.
In this series, guest instructor Marcel Pociot (Beyond Code) will steer you through the ins and outs of building and configuring servers with Laravel Forge. Whether you’re a seasoned veteran hoping to streamline your server workflow, or a beginner who doesn’t know where to start, Marcel will get you up to speed in no time.
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?
Webpack is the most powerful and flexible asset compilation tool available today. With that power, however, comes a certain level of complexity. That's where Laravel Mix steps in. Intended for the 80% usecase, Mix wraps around webpack to make most commonly desired build tasks a cinch to activate. In this series, as the maintainer of Laravel Mix, I'll teach you everything you need to know - from the basics, to advanced configuration.
Wouldn't it be great if you could alert the users of your application about important changes, without requiring that they manually refresh the page? What if an order status automatically refreshed itself? What if a thread could instantly render new incoming replies? All of this is a cinch if we leverage Laravel events, Pusher, and Laravel Echo.
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.
It's that time of year again! Laravel is on the cusp of graduating to version 5.4. Along with it comes a variety of excellent new optimizations and features. Markdown mail, higher order collection messages, Dusk, real-time facades... yes, please! In this series, I'll get you up to speed on what's new in Laravel 5.4 as quickly as possible.
You've probably known for a while now that Redis is a thing. But, like so many others, maybe you've had trouble understanding exactly when you would reach for a key-value database like this. What's wrong with just using MySQL for everything, right? Well, as you'll find, there are a number of situations when Redis emerges as the best possible tool for the job. In this series, you'll work through a number of examples to get up and running with Laravel and Redis as quickly as possible.
It's about that time again! The release of Laravel 5.3 is imminent. That means, it's finally time to dig in and see what's new. And, well, there's a lot! From directory changes, to notifications, to passports, to everything in between! This series will be refreshed every work day, so don't fall behind!
In this mini-series, we'll, from scratch, allow users to register, submit community articles and tutorials, and then vote on their favorites. Exactly like what we have here at Laracasts! While there are a number of moving parts, it should all make perfect sense, once we're done.
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.
Spark, scheduled to launch on April 19th, provides the perfect starting point for your next big idea. Forget all the boilerplate and focus on what matters: your application. In this series, Taylor Otwell, the creator of Spark (and Laravel), will teach you the ins and outs of using Spark to build your next great product.
You did your best, but somehow that User object, over time, morphed into a monstrous God object. And your controllers started out nice and clean, but now... not so much. We've all been there. In this series, we'll review a number of ideas for whipping convoluted code into shape.
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.
When we want to broadcast events on our server to the client, how exactly do we do that? Well, there's a number of ways to tackle it, including using a dedicated service like Pusher. However, in this mini-series, we'll wire everything up on our own, while leveraging Node, Redis, and Socket.io. Sound fun?
Laravel 5.1 includes a variety of welcomed new features. Everything from broadcasting events, to massively improved testing facilities, to LTS support. As always, Laravel is setting the curve with this new release. Let's breeze through the new features that you'll be enjoying.
Made your way through Laravel 5 Fundamentals yet? Nice job! It's time to dig a bit deeper. In this series, not only will we review higher level features, such as using the Scheduler component and dispatching commands and events, but we'll also often peak behind the scenes to figure out how each piece fits together.
Envoyer deploys your PHP applications with zero downtime. Just push your code, and let Envoyer deliver your application to one or many servers without interrupting a single customer. In this series, we'll discuss each feature of Envoyer, demonstrating how to use them with a sample project.