Before we dive into the code, let me give you a quick tour of what we're planning to build. Don't worry; it's nothing too complex.
We'll be using Vagrant and Laravel Homestead in this series. Let's begin by preparing a custom domain for our local app.
Next, let's work on some basic routing for our app, while also prepping our main master page.
An SQLite database should suffice for this little project. So let's setup the necessary configuration for this. Additionally, we'll ensure that the authentication layer for our app is working, as expected.
Yay - we get to start building the form that allows users of our app to prepare and deliver DMCA take-down requests to these various content providers.
We're not overly interested in design for this application, but, nonetheless, even though we're developers, let's at least take a moment or two to tweak the design, while setting up Laravel Elixir.
If the plan is to fire off these emails to various content providers (like YouTube, Vimeo, and Viddler), then we should go ahead and set up the appropriate table and Eloquent model.
We're almost ready to deliver these dang DMCA requests! But, first, I want to give the user the ability to preview the email that will be sent. This way, should they need to, they can modify the message, as needed.
So we have all the information that we require from the user. Let's now persist this data to a new "notices" table, so that the user may track the take-downs that they've fired off.
Well, it's time to actually fire off these notifications to YouTube, Vimeo, etc. Let's review our options in this episode.
One wonderful thing about Laravel is that it includes a number of drivers for its various components. Mail is no different. Let's use this lesson to setup Mandrill for our application. It's so easy!
So far, the main "notices" overview page is simply returning JSON. We clearly don't want that, so let's provide a nice table display, sot that the user may track all of the take-down requests that they've filed.
Thanks for coming along for the ride! Feel free to take it from here, and add more functionality.