Code a Google Drive Clone using Laravel and Vue.js – Complete Course

preview_player
Показать описание

Learn to implement functionalities such as:
- Creating folders at unlimited depth,
- Uploading files and folders,
- Deleting and Downloading files,
- Searching for files,
- Sharing files,
- Uploading files to AWS S3,
- Deploying the project on a custom domain.

✏️ Course developed by @TheCodeholic

⭐️ Contents ⭐️
⌨️ (0:00:00) Intro
⌨️ (0:00:29) Demo
⌨️ (0:08:13) Project Setup
⌨️ (0:14:21) Install Laravel Breeze
⌨️ (0:17:49) Email Verification
⌨️ (0:22:15) DB Overview, Models & Migrations
⌨️ (0:35:56) Explore Intertia Folder Structure
⌨️ (0:37:49) Authentication Layout
⌨️ (1:18:08) Define Main Routes
⌨️ (1:24:16) Create Root Folder On User Registration
⌨️ (1:30:34) Creating Folder
⌨️ (2:06:53) Save Folder Path
⌨️ (2:11:46) Show Files into table
⌨️ (2:26:07) Navigate into Second Level of Folders
⌨️ (2:34:18) Create Folders Inside Subfolder
⌨️ (2:37:01) Implement Breadcrumbs
⌨️ (2:46:44) Uploading Files
⌨️ (4:08:30) Show Human Readable File size
⌨️ (4:16:00) Show File Icons
⌨️ (4:27:56) Show File Progress
⌨️ (4:34:54) Display Error When File Already Exists
⌨️ (4:47:49) Implement Load More
⌨️ (5:11:42) Increase max_file_uploads
⌨️ (5:21:20) Deleting Files
⌨️ (6:23:48) Implement Downloading Files
⌨️ (7:04:32) Show Success Notifications
⌨️ (7:15:36) Implement Trash
⌨️ (8:00:03) Implement Favorites
⌨️ (9:18:23) Sharing Files to Others
⌨️ (10:05:16) Implement Shared With Me Page
⌨️ (10:26:49) Implement Shared By Me Page
⌨️ (10:50:23) Searching for Files
⌨️ (11:15:42) Connect to AWS S3
⌨️ (12:15:42) Download Files from S3
⌨️ (12:45:19) Project Deployment & Bug Fixing
⌨️ (13:40:18) Outro

🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan

--

Рекомендации по теме
Комментарии
Автор

What a timing! A week ago I was looking for a laravel course on this channel and the most recent one was uploaded 3 years ago and lot of information didn't work out. Thank you so much for this!

yasirmehmood
Автор

Wow, this is by far the best Laravel course I have ever seen. I started back in 2016 and I've never seen anything as good as this. I send everyone here to learn how to build a substantial or "real" app in Laravel now. This is the way to onboard new developers! (Along with a subscription to laracasts of course!)

mqdcmej
Автор

These people want me to learn everything ❤❤

pace
Автор

ok.. after 3 days i've been searching on google and laravel 11 documentation because im using laravel 11 for this tutorial, and for validation folder already exist, in 2:25:00 this tutorial, at this time, is always cant validated the "name" folder, and then i tried to deleted this script ->where('parent_id', $this->parent_id) in StoreFolderRequest.php file or.. you can add this script like this one below

return array_merge(parent::rules(),
[
'name' => [
'required',
'unique:files',
Rule::unique(File::class, 'name')
->where('created_by', Auth::id())
->where('parent_id', $this->input('parent_id'))
->whereNull('deleted_at')
]
]
);

now it works like a charm, btw thanks alot Zura for this tutorial, You are the best

fandrionieffendi
Автор

I really appreciate you guys for teaching and guiding everyone that's learning how to harness the awesome power of Software

digitaldynastyjohn
Автор

If you are using Laravel 11, in 1:29:13, you need to change the returned route in "store" method of RegisteredUserController into:
return redirect(route('myFiles', absolute: false));

lalaland-si
Автор

Very awesome tutorials. In love with this great course.

For the method "buildFileTree" in 3:39:35, I've simplified the method as following:

private function buildFileTree($filePaths, $files)
{
$filePaths = array_slice($filePaths, 0, count($files));
$filePaths = array_filter($filePaths, fn ($f) => $f != null);

$tree = [];
$currentNode = [];
foreach ($filePaths as $ind => $filePath) {
$parts = explode('/', $filePath);
$currentNode = &$tree;
foreach ($parts as $i => $part) {
if (!isset($currentNode[$part])) {
$currentNode[$part] = [];
}
$currentNode = &$currentNode[$part];
}
$currentNode = $files[$ind];
}

return $tree;
}

I would not have thought about the logic by myself. Got my brain running only after looking and understanding the logic you explained.

pavankalita
Автор

Thanks for providing this amazing content, been looking to work with Laravel for a while now.

yungxix
Автор

I LOVE how you say "category". Im gonna start saying it that way 😂

rkonTheAutomator
Автор

Wait...13 hours of a framework stack that I am just starting to be in love with, building something practical and fun? Bruh. How do I sub twice??

rkonTheAutomator
Автор

It's Codeholic video : first I like the video then I start watching.

zmdev
Автор

What a relief atleast a vue js course.. If it could be available in nuxt js then it'll be great help

souvikkumarbarua
Автор

Impressive work as always, Zura! Been a fan of you since 2021

alnahian
Автор

Zura is underrated af.
Best coding content creator from Georgia 💯

outsomnia
Автор

Hi zura, can you make a vlog about your journey as web developer. You also can make vlog about your current job

cubedev
Автор

Thank you so much ., ..for providing free contextual based courses!

MahmoodHasand
Автор

You can take this course without know Laravel or Vue? or there is need of having previous knowledge?

mauricio_agchannels
Автор

I really appreciate all the hard work of creating such an incredible project, but it would be interesting to specify in somewhere visible that this is for Laravel 10. Trying to replicate this project in version 11 could be difficult for beginners since they will run into random issues and incompatibilities

FranciscoSanchez-unkh
Автор

WOW Nice Thank you so much for the great content, awesome project 👍👌

mahendranath
Автор

Really a good tutorial with lots of new things to learn on laravel.

saravanasai