Recap the App0:00
So we've come a long way in building out this application together. We started from nothing and added each little piece that we needed and made decisions along the way as to what would work best for the application that we're building. What kind of changes do we need to make? What kind of decisions do we need to make on the fly? So now we have the ability to add a listening party. In this case, if we were to grab an RSS feed and give it a party name, maybe something like Brand New Laracast Snippet, we'll give it the RSS feed and designate a start time. Then we set a background job to bring that information in to the listening party. When the listening party has been added and information has been shown, we have this waiting
Then we set a background job to bring that information in to the listening party. When the listening party has been added and information has been shown, we have this waiting room to say, here's where you can join and be ready for a new listening party event. So only when that start time passes are users allowed to even interact with the material and interact with other folks as well. So we'll write one that starts, everyone will be synced together. Those who are joining late will automatically be synced at any given time of the audio. So we automatically start, we have real time chat to say, hi there. If we were to go back out, this one right here is almost finished, where this one that we just created, it's just starting.
If we were to go back out, this one right here is almost finished, where this one that we just created, it's just starting. We have the ability to send emojis at any point in time during the listening party. And we did all of that by building it with Laravel, with Livewire, with Volt, with Tailwind, and a whole lot of Alpine. The good thing is with building an application like this, not only do we have to make different decisions and have to kind of build upon our experience as we learn, as we went, you're going to have ideas like this, where you're building an application and you don't know exactly where to go next. Well, I want to give some next steps that might be helpful.
Suggest Next Features2:03
exactly where to go next. Well, I want to give some next steps that might be helpful. If you built this application along with me to say, okay, what are some additional features? While we're not going to have the time in this course to build them together, here's what you might be able to do next. Well, one neat feature here is maybe if we brought that emoji reaction onto this waiting page, or if we had the ability to be notified, maybe we had a little icon button up here to click it and say, now if we have been authenticated, or maybe we can enter our email address, when this listening party starts, we could get a new email, or you could use text notification to say, hey, this listening party has now started.
this listening party starts, we could get a new email, or you could use text notification to say, hey, this listening party has now started. You could build out some more features for Users, people who have been authenticated, who are listening to a listening party and who have been authenticated. You could have some analytics of how many podcasts have they listened to? How many listening parties have they created? On the homepage, neat features. We only really grabbed the first or latest episode from the RSS feed. Well, since we have all of those podcasts automatically stored in the database, we're not recreating them every time a new podcast feed has been entered.
Well, since we have all of those podcasts automatically stored in the database, we're not recreating them every time a new podcast feed has been entered. What if you had a dropdown selector here that says, I want to grab the latest episode, or maybe not even the latest episode. I want to grab one to create a listening party from a couple of months ago. Lastly, perhaps there's podcast hosts that would love to use an application like this to get analytics or to get information of which parts resonated with their users. Maybe a podcast host could add their podcast to the database so that you could select the podcast in the dropdown here. Lastly, as you can tell with this file, we took the approach of making it functional
Refactor and Clean Up3:56
podcast in the dropdown here. Lastly, as you can tell with this file, we took the approach of making it functional first and then making it beautiful later. We didn't get the time to make this massive monster of a file beautiful, but that's another step that you could take. What does it look like to maybe abstract some of these components? Again, the goal of this course wasn't to say, okay, here's the best way, or here's the most beautiful way, or even the best practice way of creating these components. It's how do we go from start to finish and improve and iterate as we go. In this case, it all ended up just happening in one file where we have those different
Add Authorization Controls4:26
It's how do we go from start to finish and improve and iterate as we go. In this case, it all ended up just happening in one file where we have those different states when the listening party is waiting for it to start, when a listening party has already started, and then when the listening party has ended. We have all of that state in one component, and that could be separated out to better fix that use case. We also started the pattern of this pages/parties/show, and this is where we could maybe edit a party if we were the creator, so we could dive into some authorization for our users to say, if you created this party and you are an authenticated user, we opted for people who aren't authenticated at all can create these parties.
Encouragement and Wrap-Up5:03
for our users to say, if you created this party and you are an authenticated user, we opted for people who aren't authenticated at all can create these parties. But if you are authenticated, maybe you can edit that or delete a party. The best thing to keep in mind as you create an application from start to finish is just start building something. Start putting something on the page, just write that first line of code, and then you'll know where to go from there. We iterated, we built, we improved, and we added a lot as we went. And all that started with just having a single idea. So thanks for creating with me, thanks for building this with me, and hopefully you can
And all that started with just having a single Idea. So thanks for creating with me, thanks for building this with me, and hopefully you can continue to improve upon what we built.
