03:28:20 In React's useEffect hook, the effect callbacks are executed synchronously to prevent race conditions. You should NOT put the async there. Instead, you can define the async function separately within the useEffect, like this example: useEffect(() => { (async () => { try { console.log("hello"); const response = await MyRestaurants.get("/"); console.log(response); } catch (err) { console.log(err); } })(); // making sure you run the function, not just defining it! }, []); Overall, great tutorial that shows how to put a full PERN stack together. I learned a lot. Thank you!
I've been learning MERN stack for a while, and i want to get a job as a JS developer, and i know how important SQL DB are, so, i wanted to learn postgresSQL, and, found this course, it's damn awesome
First off, great course. I'm learning a ton. Second, if anyone is bumping into issues getting routes to load (i.e. around the "Router Setup" section starting at 2:52:52), be aware of your capitalization. I had trouble where none of the text in my home, details, etc routes would show. Turns out that I had stuff like element={} in my route instead of element={}. Did some searching and came to a stack overflow post that basically said that React treats lowercase element names as HTML and uppercased element names as React components.
For those who do not know about context. The context api in react is used when you wish brodcast certain props through all the levels of the tree without having to manually pass them down as props at each and every juncture so theoretically wherever (component) you wrap your provider that is associated to that context, whatever props you are associating with that context will be available to all the children components of that component (around which you wrapped that provider)
5:47:00 I used `window.location.reload()` to reload page after adding review, rather than routing "/" and then again to "location.pathname" Hope it helps... Thank you for the tutorial, it is amazing!
If you're watching this tutorial around mid-2021 or later, make sure you use the exact version of bootstrap he uses in the video, otherwise the layout will NOT work correctly. You cap the exact link tag he uses by going to the github source code in the description !
If you are tuning in to this in 2023 like me, keep in mind there are some sweeping changes in the latest version of React and React Router DOM - so following this tutorial may get confusing. Keep the index.js that create-react-app gives you as its updated for React version 18. For React Router DOM, "Switch" has been changed to "Routes" and "component" has been switched to "element" and requires you to invoke the React element not just pass it, like so: Cheers to everyone taking the step to better yourself!
At 5:46:18, instead of using useHistory() hook, you can simply use window.location.reload() to refresh the page~ Also useHistory hook has been moved from react-router v6
but you need to add i little time delay between navigate from home page back to the details page, to give the app enough time to actually run the useEffect hook and get a response back to load the new review.
Who hath ears to hear, let him hear.[Matthew 13:9-16 KJV] I come with a message to tell everyone that even though times are hard, and it seems endless as though at times it never shall pass, these like other things shall pass and these to shall come to pass, and a new beginning shall arise for you. May God bless anyone who is is in need or is in turmoil in the blood of Jesus Christ our Lord and Savior, and king of kings, and Lord of Lords amen right now, for God is a merciful God. Call on God and he will not be deaf but God will listen for he loves you no matter the circumstance for we are all his children from those whom accept his son Jesus Christ and the gift of salvation bestowed upon us by God through the vessel and blood bought sacrifice of him Christ Jesus whom he the father almighty God hath sent in him Christ Jesus in that of his and our fathers name, know to this even if you doubt it or are uncertain or even yet too feel unworthy at times due to what had happened or the events in your life for it is written! He will not abandoned those in distress but bless the ones who mourn! Accept God and Gods son Jesus Christ by believing in him Christ Jesus whom is our Lord and our Savior, and king of kings, and Lord of Lords and you shall receive the gift of eternal life and be renewed with that of the abundance in that of the Holy Spirit now and forevermore! Have a wonderful day/night everybody, and farewell!(Share the message around the world!)....,........
@@duztv5370 I also left this in the middle due to some other reason. But, it is still a good course, I'd advise you to take it. There's no such thing as too much knowledge.
@@duztv5370 I will say this. It might be outdated, however the fundamentals and foundational things and more importantly the way he explains them are kind of invaluable tbh.
At 3:08:42 you mention the alignment of the price range drop down. This is because you added the and my-1 adds a top and bottom margin, and mr adds margin right. The other elements in the row are not similarly adjusted. If you declare then it render perfectly.
Very good and must-watch, recommended video for all of you guys. It's a great course made by Sanjeev for those who are willing to learn by doing. Thank you so much, Sanjeev, for making this amazing PERN stack course for us!🙂
Tips: to display the new reviews after creating them, 1-in the Review component instead of refreshing the page or double redirect, we could create a new useState called [newReview, setnewReview] = useState(false). 2- pass newReview as a dependency of the useEffect 2- pass both newReview and setNewReview to the AddReview component as props 3- in the AddReview component call setReview(!newReview) in the handleSubmit function. it gonna display the new review after adding.
An even better way is to do have this state in RestaurantDetailPage and define a function that toggles it there, then pass this function as a callback to AddReview.
2:52:56 I was always confused when I started learning between frontend and backend routes. All seemed to be a mess, but you here mentioned about this. This tutorial is definitely worth to be shared with someone who learns web development. Very clear explanation
Hi , I know this is probably too late , because I am watching this on 2024 , and so much modifications are applied , I just wanted to say in the min 5:46:00 , when you tried to implement the refresh and you used location to push to 2 routes, instead you could just delete the e.preventDefault() line and it will refresh automatically . Thank you so much for this tutorial by the way
I don't know why people dislike this kind of videos, feels bad too see someone making such a good tutorial from scratch and to see 5 dislikes. Thank you, sir.
I didnt dislike the video, but he made a lot of logic error and typing error. Even though he fixed it, it really drove me crazy to follow along Maybe thats the reason. Overall nice tutorial
While this is a great informative tutorial for beginners, there are many left out subjects, like form validation, error handling, discarding reviews when deleting a restaurant, possibly an auth system too. Anyway, thank you! I learned quite a lot from this
I feel like I leveled up 2 or 3 times over the past 6 days of pushing through this. I've bumped into frustrations and was able to push past them and have finally finished this! Thank you so much Sanjeev, if you were to come up with a similar tutorial that can solidify what we've learned here, I would definitely use it.
To help out with the problem at 5:46:26 -> this is where a state management library like redux comes in handy to update the state application wide and refresh the page, but I totally understand why that's not part of your video. Thanks for the amazing content :)
This was exactly what I was looking for. I subscribed, and beyond that, will be searching for other videos on your channel that are make sense. Your style is excellent. Thanks!🤣👍
Beautifully explained video. Helped me so much with setting up and understanding express and node and setting up my server-side and best practices. Thank you
Thanks so much for this! I appreciate all the time and effort you put into this video. I found it very helpful! The needed knowledge varied quite a bit. Some basic stuff was explained quite thorougly and other stuff was just expected. However if you would have explained everything I guess you would have needed at least twice the time. Just want to let you know: There is a bug at the end. The average ratings on the RestaurantList component don't match up with the average ratings on the detail page. Thanks again for this really awesome job!!
Amazing video, although I had experience with react/node before, I now have much better clarity on structure and flow. Filled with many nice coding details that I used to write workarounds for... Worth every minute, thanks!
an appeal to all good tutors .. please make video which can be easily watched on the mobile for the people who work all day and they have only night to learn and grow and gain confidence to kick there boss ass.
Any chance that there could be a follow-up video showcasing how to use ci/cd with for this project (with github actions, docker, aws etc.)? Or any link to a video that you would recommend that covers the aforementioned topics? BTW thank you so much for making this amazing tutorial.
The little space that occurs on the dropdown menu is due to the bootstrap class ' my-1 '. Just remove it and the space will be gone. It stands for margin top and bottom.
The \? uses less program to make it easier to navigate around. Thankfully, less program supports so many vim-like commands like '/' and '?' to look (search) forward and backwards respectively. You can find more help of the less commands by pressing 'h' on your keyboard. Though, I can understand that programming tools are often made using some UNIX styled tools which regular Windows user might not know. Great tutorial nonetheless!
Super resourceful. Thanks for this! Just one thing, I guess we should delete the reviews for the restaurant in the delete restaurant as well since otherwise, the foreign key constraint might not hold true.
I have been hitting my head because the icons do not render no matter what I do, if I check the documentation of fontawesome it gets very complicated with the install of some packages. How can i use this tag with this callings? did he install something special locally or call some special css from the index.html?
Thank you for the lesson. But you forgot to tell about form validation, cuz now it is possible to create empty restaurant and empty review. Because empty string and NOT NULL are not the same constraints. Better use CHECK(length(name) > 0). Also you forgot about ON DELETE CASCADE, in current version you cant delete restaurants, which already have reviews.
i have a little knowledge javascript, react and express but i didn't have any idea about PostgreSQL . while i was watching him i did it everything like him and the finishing of the project took me 4 days 2 hours. is it normal ?
Insane gratitude to guys and gals like him teaching us for free, but i had to cancel it after one and a half hour, there is so much unnecessary talking and double explaining.
Would it be a better idea to put the reviews database query in its own get route? You would have to make another axios request to the backend but this way you wouldn't be always pulling the list of reviews down with the restaurant object. Thoughts?
Can anyone explain me whats the difference between swift and swiftUI. I dont really get the difference.. sorry for the easy question and thx for your support
Great tutorial! I still have two hours to go but I noticed that every time you update a row it adds that row to the bottom, similar to how a database does the same thing. Guessing if you want them to stay in the same order, you would need to sort your order by row id?
I'm just 1 month away from turning 79 years old an I am learning this. Never too old to do anything.
Age is just a number that we cant reverse so dont rely on it age doesnt mean anything in ur life
More power to you sir/mam please keep on doing what you love doing
Mr.Awesome TigerG woahh... that’s a new record lol
Your channel kinda suggests otherwise based on your voice lol.
@@uhN0id this is my grandsons account.
For anyone watching in late 2021, has been replaced by , and component has been replaced by element in the Route tag, example:
Thanks man, I take a note.
React router dom changes :
- is now
- use element prop in to point to your component
Thank you King !
03:28:20 In React's useEffect hook, the effect callbacks are executed synchronously to prevent race conditions. You should NOT put the async there. Instead, you can define the async function separately within the useEffect, like this example:
useEffect(() => {
(async () => {
try {
console.log("hello");
const response = await MyRestaurants.get("/");
console.log(response);
} catch (err) {
console.log(err);
}
})(); // making sure you run the function, not just defining it!
}, []);
Overall, great tutorial that shows how to put a full PERN stack together. I learned a lot. Thank you!
I've been learning MERN stack for a while, and i want to get a job as a JS developer, and i know how important SQL DB are, so, i wanted to learn postgresSQL, and, found this course, it's damn awesome
First off, great course. I'm learning a ton. Second, if anyone is bumping into issues getting routes to load (i.e. around the "Router Setup" section starting at 2:52:52), be aware of your capitalization. I had trouble where none of the text in my home, details, etc routes would show. Turns out that I had stuff like element={} in my route instead of element={}. Did some searching and came to a stack overflow post that basically said that React treats lowercase element names as HTML and uppercased element names as React components.
For those who do not know about context. The context api in react is used when you wish brodcast certain props through all the levels of the tree without having to manually pass them down as props at each and every juncture so theoretically wherever (component) you wrap your provider that is associated to that context, whatever props you are associating with that context will be available to all the children components of that component (around which you wrapped that provider)
honestly one of the best tutorials I've ever seen.
So excited to get into the realm of SQL, it offers so much more control.
FINALLY! A FULLSTACK TUTORIAL THAT UTILIZES PG!
This is the way!
Yes, everywhere MERN
5:47:00
I used `window.location.reload()` to reload page after adding review, rather than routing "/" and then again to "location.pathname"
Hope it helps...
Thank you for the tutorial, it is amazing!
If you're watching this tutorial around mid-2021 or later, make sure you use the exact version of bootstrap he uses in the video, otherwise the layout will NOT work correctly. You cap the exact link tag he uses by going to the github source code in the description !
thank you for this
@@aaronclare2682 No problem
If you are tuning in to this in 2023 like me, keep in mind there are some sweeping changes in the latest version of React and React Router DOM - so following this tutorial may get confusing.
Keep the index.js that create-react-app gives you as its updated for React version 18.
For React Router DOM, "Switch" has been changed to "Routes" and "component" has been switched to "element" and requires you to invoke the React element not just pass it, like so:
Cheers to everyone taking the step to better yourself!
Thanks man. What about the PostgreSQL part, any potential errors to look out for? Especially when connecting it to node and express?
If the History hook does not work use the navigate hook. navigate = useNavigate() and navigate(`restaurants/${id}/update`)
At 5:46:18, instead of using useHistory() hook, you can simply use window.location.reload() to refresh the page~
Also useHistory hook has been moved from react-router v6
use can use the useNavigate hook instead
but you need to add i little time delay between navigate from home page back to the details page, to give the app enough time to actually run the useEffect hook and get a response back to load the new review.
That's what I was thinking too! I tried to useNavigate and History, but they weren't working. I wonder why he didn't use the reload method
For the people in 2022 at 3:00:00 the routes now are this:
return
:)
I'm very thankful that he disabled ads to help is is amazing =D
Who hath ears to hear, let him hear.[Matthew 13:9-16 KJV] I come with a message to tell everyone that even though times are hard, and it seems endless as though at times it never shall pass, these like other things shall pass and these to shall come to pass, and a new beginning shall arise for you. May God bless anyone who is is in need or is in turmoil in the blood of Jesus Christ our Lord and Savior, and king of kings, and Lord of Lords amen right now, for God is a merciful God. Call on God and he will not be deaf but God will listen for he loves you no matter the circumstance for we are all his children from those whom accept his son Jesus Christ and the gift of salvation bestowed upon us by God through the vessel and blood bought sacrifice of him Christ Jesus whom he the father almighty God hath sent in him Christ Jesus in that of his and our fathers name, know to this even if you doubt it or are uncertain or even yet too feel unworthy at times due to what had happened or the events in your life for it is written! He will not abandoned those in distress but bless the ones who mourn! Accept God and Gods son Jesus Christ by believing in him Christ Jesus whom is our Lord and our Savior, and king of kings, and Lord of Lords and you shall receive the gift of eternal life and be renewed with that of the abundance in that of the Holy Spirit now and forevermore! Have a wonderful day/night everybody, and farewell!(Share the message around the world!)....,........
I already knew most stuff Sanjeev taught, but the explanation about middleware was so nice, felt like a breath of fresh air
Please Is it still advisable to take this course now? Or its badly in need of an update?
@@duztv5370 I also left this in the middle due to some other reason. But, it is still a good course, I'd advise you to take it. There's no such thing as too much knowledge.
@@duztv5370 I will say this. It might be outdated, however the fundamentals and foundational things and more importantly the way he explains them are kind of invaluable tbh.
had to switch to postgres to more easily make a backend for mobile dev. Thanks a lot guys.
this is the best tutorial on the internet for PERN. You teach extremely well.
At 3:08:42 you mention the alignment of the price range drop down. This is because you added the and my-1 adds a top and bottom margin, and mr adds margin right. The other elements in the row are not similarly adjusted. If you declare then it render perfectly.
Very good and must-watch, recommended video for all of you guys. It's a great course made by Sanjeev for those who are willing to learn by doing. Thank you so much, Sanjeev, for making this amazing PERN stack course for us!🙂
Tips: to display the new reviews after creating them,
1-in the Review component instead of refreshing the page or double redirect, we could create a new useState called [newReview, setnewReview] = useState(false).
2- pass newReview as a dependency of the useEffect
2- pass both newReview and setNewReview to the AddReview component as props
3- in the AddReview component call setReview(!newReview) in the handleSubmit function.
it gonna display the new review after adding.
Thank you, this worked out pretty nicely!
An even better way is to do have this state in RestaurantDetailPage and define a function that toggles it there, then pass this function as a callback to AddReview.
2:52:56 I was always confused when I started learning between frontend and backend routes. All seemed to be a mess, but you here mentioned about this. This tutorial is definitely worth to be shared with someone who learns web development. Very clear explanation
Hi , I know this is probably too late , because I am watching this on 2024 , and so much modifications are applied , I just wanted to say in the min 5:46:00 , when you tried to implement the refresh and you used location to push to 2 routes, instead you could just delete the e.preventDefault() line and it will refresh automatically .
Thank you so much for this tutorial by the way
I don't know why people dislike this kind of videos, feels bad too see someone making such a good tutorial from scratch and to see 5 dislikes. Thank you, sir.
I didnt dislike the video, but he made a lot of logic error and typing error. Even though he fixed it, it really drove me crazy to follow along
Maybe thats the reason. Overall nice tutorial
I paid 20k to learn how to do this in school and this guy is sharing it for free
@@jasonm9825 School*
@@arnav520 is a bootcamp not a school though?
@@uhN0id Okay.
@@uhN0id not really, he meant University
@@qwerasdfhjkio how do you know he meant University when he said school? My buddies that went to bootcamps all refer to it as school.
While this is a great informative tutorial for beginners, there are many left out subjects, like form validation, error handling, discarding reviews when deleting a restaurant, possibly an auth system too.
Anyway, thank you! I learned quite a lot from this
Everyone go give this man a sub. He only has 579 subscribers. Deserves so much more.
Wow! Thanks for donating over 6 hours of your time. Amazing
This course is just amazing! It would be really nice to have a next video teaching how to deploy this application...
Did you find one in the end?
@@edspressomartini ruclips.net/video/NjYsXuSBZ5U/видео.html&ab_channel=SanjeevThiyagarajan
@@edspressomartini It's here:ruclips.net/video/NjYsXuSBZ5U/видео.html
for setting up routes, use this instead...
import { BrowserRouter, Routes, Route } from "react-router-dom";
That's what I need when I finish JavaScript course :)
This course is one of the best on RUclips. A lot of useful information in a simple form
I feel like I leveled up 2 or 3 times over the past 6 days of pushing through this. I've bumped into frustrations and was able to push past them and have finally finished this! Thank you so much Sanjeev, if you were to come up with a similar tutorial that can solidify what we've learned here, I would definitely use it.
lmfao, this is a horrible tutorial.
what is your code level now?
To help out with the problem at 5:46:26 -> this is where a state management library like redux comes in handy to update the state application wide and refresh the page, but I totally understand why that's not part of your video. Thanks for the amazing content :)
if your content does not get displayed around 2:57:48, do this
TY!! also u need to add Routes to the import statement i think
THANK YOU !
I added
import {BrowserRouter, Routes, Route} from "react-router-dom"
To the top too and it works
PERN - this was exactly what I was looking for for so long. Great!!!
I used window.location = location.pathname and it worked for refreshing the add review instead of adding history.push
This was exactly what I was looking for. I subscribed, and beyond that, will be searching for other videos on your channel that are make sense. Your style is excellent. Thanks!🤣👍
Beautifully explained video. Helped me so much with setting up and understanding express and node and setting up my server-side and best practices. Thank you
Thank you so much for this tutorial. A good tutorial for me is when the teacher says where he finds the good ressources and how to use it !
Honestly this tutorial really improved my react knowledge. Thanks a million
Thanks so much for this! I appreciate all the time and effort you put into this video. I found it very helpful! The needed knowledge varied quite a bit. Some basic stuff was explained quite thorougly and other stuff was just expected. However if you would have explained everything I guess you would have needed at least twice the time.
Just want to let you know: There is a bug at the end. The average ratings on the RestaurantList component don't match up with the average ratings on the detail page.
Thanks again for this really awesome job!!
I like this method more than Sequelize ORM method for connecting with db. Thank you for a great vid
Yep, definitely interested in the video about the deployment, particularly the database
Amazing video, although I had experience with react/node before, I now have much better clarity on structure and flow. Filled with many nice coding details that I used to write workarounds for... Worth every minute, thanks!
this is absolutely the best i have seen.. your explanation was wonderful. im really happy i found this video. thank you so much.
Urhobo wado! Please was the course error free? Is it still advisable to take it in February 2024?
Thanks
@@duztv5370 brotherly greetings...yeah u can take the yelp tutorial I recommend it there is alot of knowledge in it ...
I just completed this video, and I learned a lot! Thank you so much.!!
at 5:47:08, you can use window.location.reload(false) in the handleSubmitReview function to reload the page after submission.
I removed the e.preventDefault() so that the page reloads on page submit
"I was trying to make a 1-hour video, but I think this project will take longer than that" *proceed to make 6 hours awesome tutorial videos* lol.
an appeal to all good tutors .. please make video which can be easily watched on the mobile for the people who work all day and they have only night to learn and grow and gain confidence to kick there boss ass.
Any chance that there could be a follow-up video showcasing how to use ci/cd with for this project (with github actions, docker, aws etc.)? Or any link to a video that you would recommend that covers the aforementioned topics? BTW thank you so much for making this amazing tutorial.
He made a video called API Development in Python, he covers CI/CD, github actions, docker
Just as I was searching for a good project!! Really excited to start learning!
The little space that occurs on the dropdown menu is due to the bootstrap class ' my-1 '. Just remove it and the space will be gone. It stands for margin top and bottom.
Great Structure of the tutorial and you possess pretty awesome knowledge and hold over the entire flow :)
The \? uses less program to make it easier to navigate around. Thankfully, less program supports so many vim-like commands like '/' and '?' to look (search) forward and backwards respectively. You can find more help of the less commands by pressing 'h' on your keyboard.
Though, I can understand that programming tools are often made using some UNIX styled tools which regular Windows user might not know. Great tutorial nonetheless!
very nice!! awesome. Dude I love the Postgres approach. You are very right about the MERN addiction. Great call!!
Super resourceful. Thanks for this! Just one thing, I guess we should delete the reviews for the restaurant in the delete restaurant as well since otherwise, the foreign key constraint might not hold true.
You answered a whole bunch of my questions in this video. Awesome)
Last month I commented in this video and I recieved so much love in the replies...I did not except that.Thank you soo much.
This is the most marketable stack right now.
I like my stack of PVF postgres, vue, flask or VF vue firebase. But are not very marketable.
This is amazing. Can i know how to deploy the application with postgres database on heroku?? Like with mongo i could use mongodb Altlas.
This tutorial is so helpful to me!!!!!! really really appreciate !! And Please do AWS deploy tutorial, please!
Wow, thank you so much for this. I just finished with it and came here to thank you.
Amazing course. a bit outdated but mostly amaizing. Good job
In case anybody has a problem @6:13:00:
line 48 should have restaurant.count instead of restaurant.id
I've been wanting to do this for a long time now! Thanks for the video man! :)
AWESOME video!! SUPER helpful! would love another video on how to deploy!
Great video.Learn almost eveything in react.
Awesome tutorial and we need the deployment video please and thank you again 🙏 😊
an excellent tutorial, an interesting project, everything very well explained, thank you
To fix the select input being out of line in the AddRestaurant form, change my-1 class on the to mb-1.
I have been hitting my head because the icons do not render no matter what I do, if I check the documentation of fontawesome it gets very complicated with the install of some packages. How can i use this tag with this callings? did he install something special locally or call some special css from the index.html?
Hi I have learned a lot from this tutorial.Thank you very much.
Thank you for the lesson. But you forgot to tell about form validation, cuz now it is possible to create empty restaurant and empty review. Because empty string and NOT NULL are not the same constraints. Better use CHECK(length(name) > 0). Also you forgot about ON DELETE CASCADE, in current version you cant delete restaurants, which already have reviews.
exactly
Great course! Although I must admit I was on my toes during the whole "retaurant " fiasco.
thank u very much this video is connected to project I am working great timing
This tut worth every second
Around 2:23:30 surely you don't need rows[0] as the ID is unique and should always return just one result?
Amazing tutorial. Thank you, and best of luck to your channel! Deserves way more subs.
Thank god I got something to work on for this weekend 😊 Thank you
i have a little knowledge javascript, react and express but i didn't have any idea about
PostgreSQL . while i was watching him i did it everything like him and the finishing of the project took me 4 days 2 hours. is it normal ?
Thank you for the tutorial ! very clear explanation.
Insane gratitude to guys and gals like him teaching us for free, but i had to cancel it after one and a half hour, there is so much unnecessary talking and double explaining.
Would it be a better idea to put the reviews database query in its own get route? You would have to make another axios request to the backend but this way you wouldn't be always pulling the list of reviews down with the restaurant object. Thoughts?
you are an awesome teacher!
on 4:02:30 I checked the network tab in the browser and saw that we send 2 GET requests to fetch the Restaurants. We only need to send 1, right?
Great course, really well done and a great stack.
If possible please create a tutorial on data structures and algorithms(C++ preferably) easy to advanced.. & try to cover as many topics as possible.
Thanks a ton for this super useful video, god bless you
Awesome. completed in one day with code along
window.location.reload(false) 5:45:00
Postgres 13 on Mac doesn't require the directory stuff any more, just use psql -U postgres
LOL you can't use the psql command without the directory import.
thanks for that great project I was missing a lot
Super amazing and useful video!
Thanks man, you are very superpowerful
Please make a video on full stack with java spring ,spring boot with either react or angular
Great tutorial, thnks so much, but would be even cooler, if there were russian subtitles)))
Can anyone explain me whats the difference between swift and swiftUI. I dont really get the difference.. sorry for the easy question and thx for your support
outstanding video, thank you very much
Great tutorial! I still have two hours to go but I noticed that every time you update a row it adds that row to the bottom, similar to how a database does the same thing. Guessing if you want them to stay in the same order, you would need to sort your order by row id?