From the course: Extending Laravel with First Party Packages

The course overview

(computer keys typing) - [Narrator] Hello everybody, and welcome to the Laravel five recipes course. This video is going to be volume three of this series where we are learning to extend Laravel using the official packages in Laravel. This is really exciting because there are a lot of really advanced functionalities that we can add to our Lavravel applications using official, first-party plug-ins that is actually maintained by the Laravel team. So these are really, really reliable packages because every new release of Laravel, these packages get maintained ad updated as soon as the new version of Laravel comes out because they are maintained officially by the actual developers of Laravel. So these are really, really good, reliable packages to use and they can add a lot of functionality and that's what we're gonna discovering and learning throughout this course. Now a little bit about me, I'm gonna be your instructor throughout this course, my name is J. Alexander Curtis, you guys can just call me Alex, and that's what most of my students call me, is just Alex, I have been developing on Laravel since version three, building tons of advanced web applications in the process. I am super passionate about building memorable web experiences that not only delight users but also convert them. I've consulted with companies that you have definitely heard of, companies like Expedia, eBay, and Comcast, and I've helped them enhance their websites, and enhance their applications to better convert users and create better customer experiences. I like to kinda combine development with enhanced marketing and tracking to build the best applications and experiences possible on the Web, and that's been kind of my specialty, and I've been working with Laravel in order to do a lot of that. Throughout this course, if you guys have any questions, don't hesitate to hit me up on Twitter, that is the best place to reach out to me as a student, I love hearing from my students and seeing how you guys are doing throughout the course, you guys can find me on twitter at _jacurtis, J-A-C-U-R-I-T-S, you guys can see it right there, go ahead, don't hesitate to each out and say hi, let me know you started the course, that you finished it, or if you have any questions in-between, I love hearing from my students and am more than happy to help out whenever possible. So let's talk a little bit about this course and what we're gonna be covering. We know we're gonna be covering the official plug-ins that Laravel provides, what exactly will we be covering specifically? So, we are gonna start off by learning Laravel Socialite. Laravel Socialite is the official plug-in that allows you to extend the native authentication that comes with Laravel and allowing you to connect to popular social networks. So we can actually login via Facebook, login via Twitter, login Google, GitHub, all sorts of different OAuth two-type applications. And so Laravel Socialite is a very, very popular plug-in, anyone that wants to add that social sign-on feature, Laravel Socialite's the way to do that in Laravel, it's really good and we'll show you how that works. Then we're gonna learn about Laravel Scout, this is a powerful search indexing engine, allowing us to basically create very good, efficient search indexes and maintain them super easily and also how to return live search results, we'll go through that whole process, there's different tools and drivers that you can use for this, so it's very, very flexible, but it also makes it, the most important thing is it makes it super easy to maintain your index, so as we add a new post, blog post into our application or something like that, it's automatically indexed and Laravel handles all of that, Laravel Scout, specifically, handles all of that. Next we'll learn about Laravel Cashier, Laravel Cashier handles any payments and subscriptions, and we'll also learn how to handle free trials, again, very, very useful if you're building some sort of Sass application, anything that you wanna do to handle payments, Laravel Cashier is the tool to make that happen. And then finally we'll learn about Laravel Echo, which enables broadcasting and live updating for data in our application. These websites, if you've ever seen on, maybe like a dating application, where you can see who's currently online, if they're online right now, tools, broadcasting tools like this allow us to create those types of features. Also, as soon as someone, say, leaves a comment on a blog post or something like that, if you get an immediate notification within the application or you see those comments show up live and get added to it as soon as it gets submitted, those types of live features that happen immediately are part of the broadcasting system and we'll learn how to make that happen. Alright, now before we go in with this course, I wanna make sure you have a few pre-requisites under your belt so that you're adequately prepared to get the most out of this course. So of course because we are working with Laravel, I wanna make sure you have a basic understanding of PHP and how it works, also we have HTML, CSS, and JavaScript, we are working with a Web framework after all, so we are going to need to use HTML and CSS, and then, because of some of these tools, we are going to be doing a little bit more on the client side and so, versus just strictly on the server side, and so that will all require JavaScript, and so having some familiarity with JavaScript is gonna help you a lot throughout the course. Finally, Laravel basics, just make sure you understand the basics of Laravel, I'm gonna teach you everything you need to know in order to fulfill the requirements for this course, but it's gonna help you a lot to already understand how routes work, models work, views work, and Eloquent works, and I'm gonna assume you already understand the location of files, where controllers go, how to migrate, or seed, a database, basics like that are gonna be assumed, but I'm gonna show you guys everything else you need and help you build the features that we've been talking about, outside of those basics. So, let's just kind of recap what we'll be learning throughout this course, we're gonna be expanding your Laravel application by adding features through popular, officially-maintained packages, so none of these are third-party packages, these are all packages maintained by Laravel themselves, okay? Now first of all we're going to extend our basic authentication system by allowing users to login via social networks, like Facebook, Google, Twitter, and so forth, then we're also going to handle payments through Laravel Cashier, and we'll be learning how to charge one time, or subscription fees, for your application, also how to add free trials, and then finally we'll be learning about live updates and how we can add live updates to our applications so users can see things immediately, as soon as they happen, and which users are online or offline via Presence. So there's a lot to cover throughout this course, hopefully you guys are as excited to dive into this as I am, we're going to be going off and starting with section one.

Contents