Learn laravel 6 Crud by creating a todo application from Scratch | Hamza Ahmoud | Skillshare

Playback Speed

  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Learn laravel 6 Crud by creating a todo application from Scratch

teacher avatar Hamza Ahmoud, FULL-Stack web devlopper

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

9 Lessons (59m)
    • 1. Landing 1

    • 2. Setup Envirement 4

    • 3. Views And Layouts 3

    • 4. Routing 2

    • 5. Model and migrations

    • 6. Storing Methods 1

    • 7. Display data

    • 8. Delete records

    • 9. Updates

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

In this Course We Going to start from basics and install requirement Tools Like Composer xampp

then We are going to talk about layouts routing and views

and finally we going to treat Crud Operations Create a Todo Update Delete and read.

Laravel has become on of the most popular if not the most popular PHP framework. Employers are asking for this skill for all web programming jobs and in this course we have put together all of them, to give you the best chance of landing that job; or taking it to the next level.

Meet Your Teacher

Teacher Profile Image

Hamza Ahmoud

FULL-Stack web devlopper


Hello, I'm Hamza Im an Software Engenieer I have degree in software and web development 

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.


1. Landing 1: Hello and welcome to my course. We're gonna learn about larva exclude operation by creating a to do list up from scratch. We're gonna talk about layers and views, then controllers on motive and database migration. And finally, we're gonna talk about how to create a to do so delayed or updates any to do. So I will show you a quick demonstration. What we're gonna do This is how some to do homework, like homework, homework to do, inserted with success. It's another one gym, at example. Added, we can delete this, but click on the list or we can update it by clicking on edit exam. Let's type friends up days. Okay, that's ah, digit successfully. 2. Setup Envirement 4: Hello, guys. And welcome to the first chapter or styling requirement on to do our to do list. So her thing with Pentagon on style lower of a computer composer, so don't know composer I already college. Secondly, we're gonna install Exam example is our server. We're gonna execute all old the lauraville up. Finally, we're gonna install Lauraville Goto documentation if if their lives. Okay, so this is all the requirement you need to have, so PHP version 7.2 point zero. So to install or event, you need toe have Composer. So we're gonna open cmd like this. Cooperated on installed. Good. So I already install it, so I'm not gonna install it again. So when you insert exam, you will have a full dark out graham in this cloak all See this guy? Local? See, you have a folder called Sam. Okay, so exam 80 dogs. So this is the thesis. All the folders that we're gonna display on our navigator. Okay, if you, uh, go on exact control, I think it's here. Good example. Troll. We're gonna have a party server, my SQL files, Ayla Michael, or we're gonna use just up, but and my good. So you click start. It's just a demonstration off our server. So thes 25 index application and index And for African, if you had toe, look what our local host, that's, uh, server apart is working. So toe stall to install a new set up a new product. Type CMD in this part like this Good a type toe. Create a new arable products, create lauraville new we're gonna call it to do. This is our folder created here to do. We're gonna wait till it's finished. So we're done rendering our project. So this is our product to do to do I actually removed, so I actually use a visual studio code. You can install it by goto VF Cold video studio cold and don't know this virgin Click on windows table installed. So go include your a lot of a project. Call it kiddo. On type CMD toe. Open it in. Visual studio code code. No. So this is all the files we have in our lot of project. So toe open a chairman all here, just click on terminal new terminal. So this is our terminal. So to start the server ph All right, p h D artisan. So? So a lot of a development server started on a cheap deflect. Okay, we check the flame. A copy or control we started. This is our a lot of Okay, so this file is located in resource is the old welcome back to Plato Peas. This is our the speeds. That's so in here. This is the HTM men. Cool. We can change a lot of them, guy. My name, but Global with fresh. So in the next tutorial, we're gonna talk about the N V C pattern. We're gonna talk first about the controller, then reviewed, then the motor stato. 3. Views And Layouts 3: So we'll come again. Guys, in the video. Now, we're gonna talk about layouts and views so all our fuel is located in resorted views. Okay, we have. That's one of you with now called welcomed or two blade. Those PSP. So we want to have a lie. Ouch. That every view extent from So we're going to create a new folder in views called layout now. Good. And we're gonna create a new folder car. We're gonna call it master dot blade dot bi eight b. Okay, so we want toe have ah html code here toe, not rewrite it on every views. We're gonna take each five. Okay? If you don't have ah, this syntax highlighted, Uh, just go download. Wait A lot of blade snippet level blade snippets for the deacons. I'll use the material content. Okay, That's what I use. Let's go to our file. Documents were going to call it to dio. Up, up. Okay, up. So we're gonna type yelled. Yeah, we're gonna call its content. So in this one, the the user on other views Gonna child just in the section called content. Okay, We're gonna see it later, so I want toe include would strap. So we're gonna go to good struck crop club. Or you can insult bootstrap by child. NPM install Bootstrap. I don't want to use it. Now. Get started. Okay. Copy a copy of this link. Yes. We're gonna cope also deserve a great in case I felt. Now we have our master doctor blade dot PHP. All the views gonna irritate from this monster does. Blade does peace. So I want a little, uh, no. But so I'm gonna create another folder called We'll call it Love. Okay. In this, nerves were going to create a new file. Call it love book dot blade Daut eight. Okay, so we're gonna go to Bootstrap, a search for a network no more. Okay. Therefore, take we're gonna take this one, okay? Copy. And last year, we're gonna remove bootstrap type Q do off application. So if you go to gonna delete all this code, we're gonna check to extend from the mustard. Does blade Dutch Pete's be addressed? Extent. You need to don't know. The extension that I just throw you is, uh let me see. It's cold. Larible bit snippet toe have the M. It's one extent we're gonna called the folder called the Way Lie Out. Sorry. So lie outs, but left. Okay, so we now we extend it. But if you want to write our HTML code, we're not gonna rush it like this. It's one. No, we're gonna type it inside off our content with just you fixing, like this story section content the name off the end that will create in the master blade PSP content. And here we have in section off the first, you can create more than one. But I addressed Use one. If you have some JavaScript code, create yell and the type here drop of correct. Okay, I don't. You gonna go no type. It's one our type of work to do. Uh, okay. Lets see on our navigator our two dough. So let's take a little peek on. Let's go to floods. Pecan. Okay, Basque, I recommend you this website toe. Have this. We have to have this acorn. Okay, let's check this one by example. Goto copy, image address on which I pity. Okay, So to include our now were in our master database, PSP. That includes okay. Includes we have in the folder labs dot nabo Okay, That's good. Myths, refreshed and see. This is our to do application. This is our now. So, uh, when If you want to see our out, we're going toe goto web dot Appear it be so route Don't get this is our get function when you type Ah, local lords slash Okay, like this let me show you. This is our local host Flash. This is our, uh, main beads Gonna Richard view this welcome. Go to bleed the peace when you had toe slash It's gonna return the view. Welcome. Okay. In the next video, I'm gonna talk about the routing felt. 4. Routing 2: hello and welcome again in the left tutorial. We just created our own avoir learn about the lion and the views. So in this tutorial, we're gonna talk about the rocking system. Okay, so if you had toe sorry if you had toe slash contact, he lost contact way. Have error notes from so to have Ah, let's create a contact contact. Uh, because you that contact, not blade dot to eat a simple a simple page. Okay, it's type. Uh, it's one. This is contact beat with, you know, it's gonna have it. So to go to this page when we tapes last contacts, you're gonna goto route web dot Ph. Okay, this is get the user. Want to get this whistles? Okay. Gonna take route like this to see McCullough get great. We want class contact. Good type. Just contact lost contact. And we're going to create a function, a function look, death and its function gonna have I just messed it up. We're going to return this view. Contact that blade dot PHP. OK, so we're going type creature. If you death, you're gonna call contact. Okay, Let's see. Let's, uh, if you had to slash that our welcome. Does Plato expected? I need to come here. Okay, that's good. This is our welcome Doctor Blade PHP. If you click on type flats contact. This is a contact. So this is how the routings work. Okay? We were going talk about rocking with controllers in the net tutorial so they don't 5. Model and migrations: hello and welcome guys again in the previous video, we talking about the A routing system like we're going type count, tracking contact we had to the contact her view. So indeed, view in this s or in this tutorial, you're gonna talk about the models and the migration. So we're gonna We're gonna tow their standing like this. Every model is equivalent to a table in our debt hobbies. Okay, so, first of all, you need to have a database you're needed. Start over my SQL and apart. Sever Goto, our local host. One flash the H b. My admin. Okay, so this is our database. Okay. Let's, uh let's create a new one. New that a bit. Let's call it, uh, to do through. No, that upbeat. OK, so we're not going to create any trouble. The table. We're gonna migrate from our to do a lot of a product. Okay, so we stopped the server. No call to stop the server. Click control. See? Great. So to create a new model, it's be artisan make model. So we want to create our model call to do so If you call if you type to do on the database we're gonna find two does like this. If you type ah, product like this in the database, we're gonna find products. Okay, Just type it without the type to dough. Thus em, that's Ah, meal migration. Five is gonna generate migration files. So you have created my aggression successfully model created successfully. So to find our migration file click on that obeys migration on. We have to do stable. This is the name off the table we're gonna find in in our database. So we have just an idea we want. Let's call it. I d I d to do. And we want to help. Uh, but let's call it to table. Uh, strength. This is a plank. I wanted a blink. We call it, uh, my Let's call it mighty dough or this is the body. Okay. Body off this to do, I think does it. Okay. We want just the body off. Every and the timestamp. It's created us and deleted out under, up. Dish it out. Sorry. So this is our table just content. I d. It's a big increment. It's increment and the table string content body. Okay, so toe my great, The file. We type B hp rt No, no. So we're gonna go toe envy file to declare aware that I ve So we have my SQL the address, the poor So the that we're going to change it to to go Devi that we create user name route and I don't have a passport, so it saved This will create a type B. It's be artisan, my great First, let's delete the stables. We don't you need them. The village. All right. And OK, that's good. Enter migration table created successfully. Okay, let's go now toe our database with fretted to do and we have to do table OK, how i d to dough body created art and updated So this is how we create our table in the that are ways. If you want to create another stable does create job PHP arches and make model and type the name off the model does my and just create uh, the field in your data Be okay. I have I de tudo body and time step is created art and updated. So in the next video, we're gonna talk about the controller. Okay. Stay tuned 6. Storing Methods 1: Hello and low guy And welcome our controller Victoria. Who? What is a control instead of defining all off your request, Hamdan, close it as closers in rats. Why, you may wish organized this behavior using control crap. Okay, control classes. Controllers can, uh, group related request handling Vlasic into a single class. Okay, control our thorn it in the up CTP control. Uh, Http, we find controller. OK, so in controller, we have you know, we need to have some several functions like index create store, so edit update and destroy. So this is our crowd operations. Okay, So you need to have all these. Thanks. So it's ah, it's hard to write section, but thanks. And thanks. So I have quick a tip for you. Toe make first to create a controller. Just take p each peak. Artisan. So are our make two point controller. Ah, we name it. Ah, to do divorce controller to reiterate all the metals index creates short. So edit update and destroy the type that that we thought Okay. And to controller created successfully. Okay, let's see up each CCP controller, We have, uh, okay to do controller. So we have now all the function that I dressed. So you Okay, Index, create store. So edit and update on finally delete. Okay, this is where we're gonna handling all the logic. Okay. If you want a toe, make a create function to create two dough, we're gonna hate a store. Okay? Store function. We go now if you want to. So, by I did, we had the function, so Okay, if you want to. So all all the records create edit toe, edit a record update and finally to delete a record. Okay, Now we're going to create our let's create a four. OK, go toe boots truck greet first. Let's go toe. Let's close this resources views work. Great. A div container. Great India live. We're gonna have a form for mood opposed. Okay, Both the accent. We're gonna resolve it later. Okay? All right. So in this four, we're gonna have an input. Let's take some bootstrapping your foot. Good. Started input. Okay. And booked. Let's take from good input with a button. Let's search for a good import. Yeah, let's work with Okay, let's work with second warm. Did dignity basset. Okay, So in this gonna college ad, we're check this place, Holder. Let's type here, uh, a new to do. Okay, lets see. Yeah, we're gonna around December the B artisan. So let's refresh it. No, we have to do. Let's make some margins here continuing that Martijn egret going after. Okay, that's good. Uh, let's have style it a little bit time. Let's make away 50% c. Okay, that's good. Good. No, we want to create I would to create to do in our database. So we want toe goto ab controller to do controller. OK, so here we have a request. We have a post requests. This is a post request. We're gonna give this request to to do controller store function, So I u I don't truth a look eloquent. I address use a normal SQL command youth db. Okay. Gonna create name off dollar dollar. Gonna call it Tedy. Cool. New for it. New. The name off the control to do good. We're not gonna create it in creates, but you store. Okay, so we have this request now we're going to use so in search t a to do body one type. We're gonna go to the field called Body on our database body equal request. Well, break with input. Goingto input we take. Want to take this input? Okay, this input input put Oy, the name off on the name of the Emperor. Let's see what name. So don't have the name. Next step name. Let's let's type two, no body. Okay. Trudeau body type here. So do body on. Now. We want to save it. So you save it called do a function called thief. Okay, okay. So now we want to hit death function. Okay, we go toe, uh, route web. That ph b. We're going to create a post request, not get both. Okay, point uh, both wolf. We're gonna call it flash. Done. Now we're gonna hit death function. So toe go to dysfunction on one click on submit Click. We type to name off controller to do home roller at the name off the function. You hear a story? Okay. Store. Not all done. We goto Welcome that blade. Those PHP glove type. Let's type do type sub Mitch. Okay. This is you need a submit button if you change anything floated. Okay, That's good type. And in the action action, we're gonna You are double Curly braces. You were on what we call it in web dot PHP slash Done. Okay, Last done. Now, that's good. And, uh, it's necessary to type C r f token. If you If you don't type, it does. Let's remove it for the moment until it's finished. Great. Let's type new. Uh, let's do homework ad. That's what we haven't matter. OK, let's do if it's safe return, we want to redirect to our work. Ah, May be ready, Rex. Uh, flood less. Okay, Go to the home page. Let's see. Now do homework. Okay. Ad. Let's go check on the database We don't have. See, we don't have the homework. So we need this seat. Us air off talking. Let's see. No, it's so official. We don't want what this this one is. We want so which we want your head type c us air off here. Okay, it's homework. So now we Let's see, I know there is an error. Okay, let's see. Go home. Work. Let's click. Add I did is in there. Okay, collapse. Http control to dope. Not from so to import this club. Let's type youth. I want to use this close up. I do the name off the model. OK, it's to do. Could do this model to do in this model. We're gonna type depicted. I would table equal. It was name off the table. Let's see Again, two. Does the table called to do to do? Okay, okay. Or there is another way to make it. But let's see now me refresh homework. It's on our database. This is a new home homework. Okay, let's at another one. Bad. Okay, let's see it. So this is our store function. Okay, let's make if fifth fishing fission make another alert Fission. You know? No, fax it. Let's type to do, uh, inserted fucks, if fully. Let's pluck sits with success, we fix it. Okay. And let's go toe. Welcome. Toe blade dot PHP. Okay, container. It's you. Uh, if fishing for it have OK, they function. Have it's type Has what has success. Okay, 67 Let's go to bootstrap alert. Let's check the grand one. Okay. Warning. Dangerous success, citizen. Their phone get gets good for it. I don't know. Let's see if it's work or no, Jim, uh, have good. If there's let's a type tudo inserted, but okay, it's type by, uh, or biking to do. Inserted. Successful In the next video, we're gonna show all our to do's here, so stay told. 7. Display data: Hello. Welcome back. So in the previous video, we do storing metal in the database. So I have something to so that I wanted to do. Controller, if you want to display this method to do inserted with success, when did we do a double break? It, uh, we type citizen assistant Get citizen gets sucks. I think like it. Let's see now. So to start the server always Ph b rt sensor. Let's go to this. So let's add something. Uh, let's take command that this is okay. Uh, I think I shut down the server. Yeah, Yeah. Shut down the service unit. Always toe check. If my SQL is running or not, let's add to do inserted with success, it's dismiss it right to do inserted with. So now in this video, I want to display along the all the to do's that we inserted. Okay, so we're gonna hit the function index. Okay, I will use normal SQL Command. I don't use eloquent, so we're gonna type a variable. Let's call it these. Okay. They equal db to use the normal SQL Command selects. We're gonna do a select lamented so select for all it was from What's we have in our database? Uh, let's go check on from this table. Select anything from this too. Okay. Wrong to do this. So on. We want to return the views with this data. Okay? The views on get this data like apart Amis. Okay, return if you did. You where we tell we have Ah, welcome. Return view. Welcome. And to pass a parameter, I use a compact going back on type. Did date? No, thank you. You know, look. Oh, I thought that he todo Cory They're So now we're gonna goto our route file. We're not gonna make it from return here. We're gonna delete all this corn. We're gonna target this function. Okay? In there. That's return of you. Welcome with this date. Good. So we're gonna type name of the controller to do Controller Kloner Index. Good index. What? That's good. Return view. Let's deal. Idiots. We don't want to you with No, let's see. That's good. Okay, that's good. We hit this function. Now we want we want to display this data. Okay? You want to display the date, so we're gonna go to the welcome that blade, those peaks P uh, it's uh, if this end from me? No. If session had to fifth and good. My style. That's weird. Read off, Christie. Now, to display the data, we're gonna make a little bit. No, we don't. I want to. Do we have? We have. Ah, container. Let's type. Just so now to display our data come from the function Endo's Let's let's make it in a table. Okay, lift. Let's take a bootstrap table. Yeah. Class to look, class table. He had, uh, could go on. Let's do an option that would seek out. Go. So for each, it's loop on this. Is that track away. Okay, that's away. So for it, for each daito of items, I feel good. So for each data item, we're gonna do a rope to gonna look iTunes? I thought it all right. Not diff, but And they would with a tree, but Okay, this was a tree. Wouldn't Hey, with a club equals R B C and A and danger, then, like the live. Let's copy this the lids, um, toe it it dander delete, and it's okay. Let's see now the result. Okay. Uh, no warming. This is our to do. We displayed from our database. We have a village and edit. Now, on the next video, I will show you how to the late homework or the elite. Truth or edit I told you, okay. 8. Delete records: So welcome again, guys. In the previous video, I'll show you how to add some to do list like this. I like Jim. Uh and we have this little pop up right here. So in this video, I will show to the Liege some two DUIs. And in the next video, I will show you want to update A to do so we have hit. Uh, I add some CS s here, somebody some phone side. So I want on click on click. We want to the leech, the throw what to the So we're gonna make a four with both. Oh, sorry. On took this button here. Look. So if you want to delete because we don't the least and the metal is post so we type Merkel if you the leaked and off course here are a few for generating token. Great. So we need our limit. Close this. We need to go to our controller on hit the function destroyed. I I'm going to use some normal SQL query. Leave you the lift. The list for home two does where I d to do equal. It's a press statement. We're going to an array with this value we're gonna pass from our view. Great return. Right. Direct our home for you. Good. Who if you use it here, we need to the clarity on the roads so wrote to declare it rocks the village. We're gonna type the road. Let's the type del class. The idea Great. When it up on the idea I d the name off this function Destroy as always, we want to do home troller. Look, Biff, when it that's good. Okay, so now we goes to the view here in the accent. We're gonna type Carly. Waiter, you are ill. You are out on the name off the function. Well, slash They'll close. We need to pass the idea. So we have here item each data as we want the idea I tim I d underscore to do. Okay, so no, no, no more tears. Not your thought. What did I do? See? Okay, that's good. Let's death right now. We need diff right to here. Like a good deal. It so no, We deleted a worry court faithfully. We released our record. So on the next video, I will show you how to edit our record. So stay tuned 9. Updates: So one will come back again. Guys, in the previous video, we see how to deal each record and how toe some to does Agnes with this pope to do inserted with success. So in this video, I will show you how to edit. Oh, uh, to do. OK, so first of all, we're gonna goto our route trial. We're gonna type route. So grout note get okay. The get function. To get all the data and displayed on another view, we're gonna call it. Let's call it this display flows. I d. We're gonna go to the controller. Uh, oops to do comb control. Look at it. You're gonna go to the function edit on the to do control. So hair isn't the edit function we're gonna keep all the to do's with this idea. Be select Select All Pro to do where I d to do equal acclimation perturbation. Mark. Okay, as a barometer through this interrogations Mark, we're gonna pass this idea. Okay, so we're gonna under way. We're gonna pass this idea, control. We need toe redirect through a new view. So we're gonna create a new view. New foil. It's a idiot. Doctor blade dot p h speak. And we include extents story exchange from, uh, louts Dog Master right in conference the section 36 in Jackson Corn. Okay, so what did you do, Controller? Let's return. We turn you. What's the name of the view called? It it. They did it. We're gonna both Let's create a valuable Let's call it that. They thought four. Let's like this. Name it like this. Compact, compact Dita four. Okay, it's chemical. Yeah, Okay, that's good for the moment. The, uh what's the problem? Uh, this great for For there's no new. Okay, Yeah, this one. Okay, that's good. So now on the edit blade peel, it seems Let's welcome notably those PHP or click. We're going to try Purell. That's redirect off through this of you. You are l What's up in the world is display. That's sorry. Plus display close. I don't I tell not gonna part this part Damage. OK, I got to do so. That's good. Check now. It did. So we are here now, so let's take this input there. Let's check this good and put it on edge. And it Yeah, let's type up these on the botton sucks. Let's Leslie success. Okay, on here. We're gonna tell the value we want. Auto. Complete the value off our input by the data we passed from our controller. OK, let's go. Uh, donor, that core book, I hope this work. Yeah, I turned it. You are You too items our body and for each Yes, cooperative put it. Uh, okay. Lets you know, that's, uh that's what we wanted on the update. But that's stupid. A div dot container. Good club. And why for lipstick Three. Okay. And start, let's style it with the web. 40% good. You know, contended Okay, you know, we have this now we want to update its OK, I want to update. So we're going to make a four fork meddled both. Let's chill. No. So the important thing is sickness. R f feel ordinary talking. If you don't try this, you're not gonna updates or inserts toe database so good on class types admit. OK, now on click, we want to hit a function that we could will declare it's been our route. Troy Rodarte. Now we're gonna do foot. Put your patch. That's the same thing. Book flus. Let's see on my to do controller requests and I d Okay, you take requests and ideas up. Lift up, Flushed I d. Plus four weeks. I ve It's go to the function on the video controller at What's the name off the function up the but big No, that's good. Okay. On the to do controller, we're gonna take, we're gonna take the value off input. Okay? What's the name off the input class? Barton type plus name. It's a name up to do. Okay, let's check this valuable. Say, uh, create a variable. It's called. Okay, it's tick. Eloquence. The quest put. What's the name off this up to do? OK, up cool dough. Now we're gonna update it. Okay? We need to operate the existence value. We say Devi, Levi, update update. It's a photo update. Name off the table to move body equal. But a better statement. Said the board. The equity where I d to do Take wall now. We're gonna have only away. We say Buday V Ok, the first parameter. And secondly, I d, um, we return. Redirect. Finally with it. I thought it will. I hope this work. Clean the dishes so clean. Okay, update. I didn't feel right? Comment here. I think he did. I think that's a basic corporal in here. We're gonna type You are elk. Okay. What's the name near on corn? The wrote plus up. Float up flows point. Let's take this a tooth flood. I d to go. Okay, let's see. No, that's a a morning. Talk off, please. Okay, update. So if you click on edit cleared the different we're not gonna able toe update now. We're able to update it by adding this life inputs dependent name metal when you put good. So now let's a training on up the That's up. This okay? I believe you. And it we know that fit the financial. The post method is not supported for this louse supported metal put. So as I told you, you should. The other input type hidden on the value is put. So when you audit for you so biking PlayStation lately Stop, please. Police station update. Okay, so I hope you like this course. And if you have any questions, just let me know in the comments. I know my English is so bad because I don't talk English so much. Thank you for checking the scores, and many courts are coming. Thank you. Have a great day.