Frameworks Rebuild GitHub with Tailwind
Intermediate Difficulty

One of the best ways to improve your CSS is by rebuilding existing UIs. You’ll notice common patterns that occur and the best way to handle them. In this first entry, we'll focus on the GitHub UI.View the source code for this episode on GitHub.

1h 26m
Play
Frameworks Build a Video Game Aggregator
Intermediate Difficulty

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.

4h 17m
Play
Frameworks Build a Stock Tracker App
Intermediate Difficulty

In this series, we'll build a command line application to track the availability of in-demand products across any number of retailers. Perhaps you want to be notified the moment a Nintendo Switch becomes available for purchase? Let's do it!

2h 50m
Play
Techniques Building Laracasts
Intermediate Difficulty

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.

1h 35m
Play
Frameworks Building AlpineJS
Advanced Difficulty

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!

54m
Play
Languages JavaScript Techniques For Server-Side Applications
Advanced Difficulty

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.

48m
Play
Frameworks Build A Laravel App With TDD
Intermediate Difficulty

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.

8h 51m
Play
Techniques Unlocking Badges Workshop
Advanced Difficulty

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.

2h 54m
Play
Frameworks How to Create Custom Laravel Presets
Intermediate Difficulty

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.

26m
Play
Techniques How to Read Code
Intermediate Difficulty

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?

1h 17m
Play
Tooling How to Manage an Open Source Project
Advanced Difficulty

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.

4h 42m
Play
Frameworks Let's Build A Forum with Laravel and TDD
Advanced Difficulty

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.

19h 29m
Play
Techniques How to Accept Payments
Intermediate Difficulty

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.

3h 15m
Play
Techniques Laravel Authentication Techniques
Intermediate Difficulty

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.

52m
Play
Tooling Russian-Doll Caching in Laravel
Advanced Difficulty

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.

1h 37m
Play