
Master Laravel and Vuejs by building a real-world YouTube clone. Learn many-to-many and polymorphic relationships, jobs and event dispatchers and listeners, authentication and authorization, and component composition and reusable components.
Build a YouTube clone using Laravel and Vue.js. Implement login, search with persistent pagination, channel uploads and image resizing, and video streaming and a comments system with likes and replies.
Access the course source code by visiting the repository’s master branch, download and run the project, and explore per-lesson commits showing changes like a new channel model and namespace updates.
Create a brand new Laravel project called Latu, configure the environment and endpoint, and secure with a self-signed certificate, then install npm dependencies, generate authentication scaffolding, and run migrations.
Discover how to replace auto-incrementing ids with UUID primary keys in Laravel, using a base model and boot hooks to power channels and videos in a YouTube clone.
Define a channel model with title, a nullable description, and image, and automatically create a channel for each new user on registration using the user's name as the default title.
Create and customize a channel page using Laravel resource routes and model binding, display and edit channel details, and implement an avatar upload with automatic patch requests and UI overlays.
Learn to upload and manage channel images in a Laravel and Vuejs project using a media library, create 100x100 conversions, and retrieve thumbnail images for a YouTube clone.
Authorize and validate channel updates in a Laravel and Vue.js course, using a custom request and middleware to ensure only the owner can edit channel name and description.
Implement channel subscriptions in a Laravel and Vuejs project by creating a subscription model, migrations, a resource controller, and routes. Build a subscribe button with unsubscribe state and subscriber count.
Create a dynamic subscribe button with inline templates using Vue and Blade, register a view component in JavaScript, and manage authentication and channel subscriptions in Laravel and Vue.
Seed and test a YouTube clone with factories for users, channels, and subscriptions, then generate large datasets (10,000 subscriptions per channel) to prove scalable performance.
Learn to implement conditional rendering with blade and inline vue templates to show subscribe state, owner checks, and subscriber counts based on the authenticated user in a youtube clone.
Format subscriber counts with the numeral package in a scalable Vue app. Use a computed property to format the subscriptions length with numeral, producing K and M when subscribers update.
Learn how to implement subscribe and unsubscribe for a YouTube clone built with Laravel and Vuejs, featuring channel subscriptions with authentication checks, owner validation, and create/delete requests.
Implement automatic, reactive subscribe and unsubscribe updates by syncing server responses to an initial subscriptions data property, updating the dom after promise resolutions and recomputing counts.
Set up the channel uploads view by creating an upload video controller, linking to the upload videos page, binding the channel, and wiring an icon to trigger video uploads.
Create a channel uploads component in a Vue page, toggle panels, use a hidden file input to select videos, and show upload progress while sending files to the server.
Explore ajax-based video uploads in a Laravel and Vuejs project, including setting up a videos table, channel relationships, and front-end multi-file uploads with progress tracking.
Learn to implement real-time upload progress for multiple videos using an on upload progress config. Update a per-video progress object with event.loaded and event.total, and bind progress to the UI.
Enable video conversion for streaming by installing F NPG, integrating with Laravel, and dispatching a convert for streaming job on upload; run queue workers for background processing.
Convert videos into three bitrate formats (low, medium, high) for web playback using a package, export for live streaming, and save results to the public videos folder.
We implement a conversion progress feature using an on progress callback to update the video percentage in the database as the queue processes, with front-end polling for updates.
Generate video thumbnails by creating a thumbnail field, capturing a frame from a video at a specific second using FFmpeg, saving to public storage, and updating the video record.
Implement real-time updates for video uploads and conversion progress with frontend polling. Update the UI with progress, thumbnails, and titles, and provide a link once the video is ready.
Set up routes and views to display a video, handle ajax/json requests, and mount a video.js player for live streaming with adaptive bitrate.
Configure video view tracking in a Laravel and Vue.js app with a views column, expose an update views API, and increment views when a video is watched beyond 10 percent.
Replace static video details with dynamic data in a Laravel and Vuejs youtube clone, displaying the video title, views with pluralization, channel name, publish date, and a reusable subscribe button.
Learn to implement video updates in a Laravel and Vue.js YouTube clone by conditioning edit access on ownership, and wiring forms, CSRF, and put requests for title and description updates.
Learn how to implement polymorphic votes in a Laravel and Vue.js app by modeling votes for videos and comments, with up and down types, and configuring morphs, migrations, and relationships.
Create a reusable votes component that handles upvotes and downvotes for videos and comments, with props, dynamic active states, and owner checks to prevent self-voting.
Implement a toggle vote system for videos and comments by posting to a vote controller with entity and type, while handling authentication, upvote/downvote logic, and reactive vote totals.
Build a Laravel video comments system by creating migrations, the Comment model, and relationships to video and user, enabling nested replies and seeding with fake data for display.
Create a Vue comments component and a paginated endpoint to load video comments. Display each comment with the commenter’s name and avatar, and add a load more comments button.
Implement load more to fetch the next page via the page parameter and next page URL, then spread new comments into the existing list.
implement a reusable voting component to upvote comments and replies, using a polymorphic vote model and entity-based voting logic; users log in to vote and enjoy scalable, seamless interaction.
Implement add comment in a Laravel and Vue.js Youtube clone by wiring the store method, using the video id and body, and authenticating users to update the comments list.
Create a single comment component in a Laravel and Vue.js course, extracting each comment into its own component with an add-reply button, replies, avatar, and dynamic form toggling.
Add a reply feature to video comments by posting to /comments with the video id and updating the replies component. Display the new reply at the top.
Learn to implement a live search on the dashboard for videos and channels using a get form, server queries, and paginated results.
Have you been looking for an advanced laravel course ?
Have you been searching for a course that will teach you the advanced core features of the LARAVEL framework?
Have you wondered how to build and deploy a REAL WORLD APPLICATION ?
Have you searched for a tutorial to learn the advanced concepts of LARAVEL and VUEJS ? the best PHP framework and the best FRONTEND JAVASCRIPT FRAMEWORK ?
Well, I've got good news for you. Search no more.
I introduce to you, THE ADVANCED LARAVEL AND VUEJS COURSE.
The LAST LARAVEL COURSE you will ever need. This course covers advanced features of the laravel framework, with a deep dive into the source code of the framework, explanation of the core concepts and design patterns in the framework itself.
Some of the advanced features covered in this course in full detail are:
Implicit and explicit Route model binding
Video processing
Storage and file systems
Advanced Eloquent concepts
Multiple file uploads
Custom request objects
One to many, Many to many and Polymorphic relationships
And so much more !!!
We would also learn how to build laravel applications with a vuejs frontend, and some of the features and concepts we would cover in Vuejs are :
Component composition
Component reusability
Inline templates with blade
Multiple file uploads
File upload progress
Nested commenting systems
And so so so much more !!!
My name is Kati Frantz, and I am the creator of the best and highest rated Laravel course here on udemy for complete beginners, and I am famously known for my complete project based approach of teaching.
We would be building a complete Youtube Clone application from scratch.
So come along with me on this journey to becoming a professional Laravel developer, building world class applications. Thank you so much, and see you in the course.