PERN Stack Course - Build a Yelp clone (Postgres, Express, React, Node.js)

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 363

  • @user-pp4kn8tq7c
    @user-pp4kn8tq7c 4 года назад +863

    I'm just 1 month away from turning 79 years old an I am learning this. Never too old to do anything.

    • @sida_g567
      @sida_g567 4 года назад +15

      Age is just a number that we cant reverse so dont rely on it age doesnt mean anything in ur life

    • @yadneshkhode3091
      @yadneshkhode3091 4 года назад +19

      More power to you sir/mam please keep on doing what you love doing

    • @nathanielwoodbury2692
      @nathanielwoodbury2692 4 года назад +7

      Mr.Awesome TigerG woahh... that’s a new record lol

    • @uhN0id
      @uhN0id 4 года назад +5

      Your channel kinda suggests otherwise based on your voice lol.

    • @user-pp4kn8tq7c
      @user-pp4kn8tq7c 4 года назад +9

      @@uhN0id this is my grandsons account.

  • @KevinJohnKiely
    @KevinJohnKiely 3 года назад +102

    For anyone watching in late 2021, has been replaced by , and component has been replaced by element in the Route tag, example:

    • @simaobonvalot7697
      @simaobonvalot7697 2 года назад +4

      Thanks man, I take a note.
      React router dom changes :
      - is now
      - use element prop in to point to your component

    • @SesamemeStreet
      @SesamemeStreet Год назад

      Thank you King !

  • @aslanthr
    @aslanthr Год назад +5

    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!

  • @mikealejandro3938
    @mikealejandro3938 3 года назад +9

    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

  • @creativedisco
    @creativedisco 2 года назад +1

    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.

  • @AsliArtistVlogs
    @AsliArtistVlogs 3 года назад +9

    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)

  • @ThatGuyDownInThe
    @ThatGuyDownInThe 3 года назад +15

    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.

  • @stephenpeters9125
    @stephenpeters9125 4 года назад +47

    FINALLY! A FULLSTACK TUTORIAL THAT UTILIZES PG!

  • @abelgetiso4198
    @abelgetiso4198 3 года назад +5

    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!

  • @cyrusguest4975
    @cyrusguest4975 3 года назад +6

    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 !

  • @AnthonyPinzone
    @AnthonyPinzone Год назад +37

    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!

    • @duztv5370
      @duztv5370 9 месяцев назад

      Thanks man. What about the PostgreSQL part, any potential errors to look out for? Especially when connecting it to node and express?

  • @tempacc6039
    @tempacc6039 Год назад +7

    If the History hook does not work use the navigate hook. navigate = useNavigate() and navigate(`restaurants/${id}/update`)

  • @louis_dev6981
    @louis_dev6981 2 года назад +7

    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

    • @zish4k
      @zish4k 2 года назад +1

      use can use the useNavigate hook instead

    • @zish4k
      @zish4k 2 года назад

      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.

    • @mcm0125
      @mcm0125 Год назад

      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

  • @cafesit0648
    @cafesit0648 2 года назад +2

    For the people in 2022 at 3:00:00 the routes now are this:
    return








    :)

  • @peacefuldeityspath
    @peacefuldeityspath 4 года назад +20

    I'm very thankful that he disabled ads to help is is amazing =D

    • @1CT1
      @1CT1 4 года назад +3

      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!)....,........

  • @ibtehaj95
    @ibtehaj95 Год назад +3

    I already knew most stuff Sanjeev taught, but the explanation about middleware was so nice, felt like a breath of fresh air

    • @duztv5370
      @duztv5370 9 месяцев назад

      Please Is it still advisable to take this course now? Or its badly in need of an update?

    • @ibtehaj95
      @ibtehaj95 9 месяцев назад

      @@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.

    • @rehmanarshad1848
      @rehmanarshad1848 4 месяца назад +1

      @@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.

  • @ThatGuyDownInThe
    @ThatGuyDownInThe 3 года назад +1

    had to switch to postgres to more easily make a backend for mobile dev. Thanks a lot guys.

  • @pat1157
    @pat1157 Год назад

    this is the best tutorial on the internet for PERN. You teach extremely well.

  • @SailingLilith
    @SailingLilith 4 года назад +4

    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.

  • @DeepLajpal
    @DeepLajpal Год назад +3

    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!🙂

  • @MrKheoni
    @MrKheoni 3 года назад +2

    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.

    • @Nyquiiist
      @Nyquiiist 3 года назад

      Thank you, this worked out pretty nicely!

    • @iamharald
      @iamharald 2 года назад

      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.

  • @johnconnor9787
    @johnconnor9787 2 года назад +3

    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

  • @mehdielouissi6678
    @mehdielouissi6678 7 месяцев назад

    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

  • @puky4685
    @puky4685 4 года назад +1

    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.

    • @muhammadnurali4347
      @muhammadnurali4347 4 года назад

      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

  • @sharkdawg
    @sharkdawg 4 года назад +104

    I paid 20k to learn how to do this in school and this guy is sharing it for free

    • @arnav520
      @arnav520 4 года назад

      @@jasonm9825 School*

    • @uhN0id
      @uhN0id 4 года назад

      @@arnav520 is a bootcamp not a school though?

    • @arnav520
      @arnav520 4 года назад

      @@uhN0id Okay.

    • @qwerasdfhjkio
      @qwerasdfhjkio 4 года назад

      @@uhN0id not really, he meant University

    • @uhN0id
      @uhN0id 4 года назад

      @@qwerasdfhjkio how do you know he meant University when he said school? My buddies that went to bootcamps all refer to it as school.

  • @htky
    @htky 4 года назад +9

    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

  • @sogggy
    @sogggy 4 года назад +1

    Everyone go give this man a sub. He only has 579 subscribers. Deserves so much more.

  • @chknise3635
    @chknise3635 4 года назад +8

    Wow! Thanks for donating over 6 hours of your time. Amazing

  • @raulpivaburigo4421
    @raulpivaburigo4421 4 года назад +7

    This course is just amazing! It would be really nice to have a next video teaching how to deploy this application...

    • @edspressomartini
      @edspressomartini 3 года назад

      Did you find one in the end?

    • @rabiaabbas262
      @rabiaabbas262 3 года назад +1

      @@edspressomartini ruclips.net/video/NjYsXuSBZ5U/видео.html&ab_channel=SanjeevThiyagarajan

    • @mikedle
      @mikedle 2 года назад

      @@edspressomartini It's here:ruclips.net/video/NjYsXuSBZ5U/видео.html

  • @hassanxelamin
    @hassanxelamin 2 года назад +1

    for setting up routes, use this instead...
    import { BrowserRouter, Routes, Route } from "react-router-dom";

  • @kaza6299
    @kaza6299 4 года назад +7

    That's what I need when I finish JavaScript course :)

  • @johnconnor9787
    @johnconnor9787 2 года назад

    This course is one of the best on RUclips. A lot of useful information in a simple form

  • @baberaham
    @baberaham 4 года назад +8

    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.

  • @noahkanyo3211
    @noahkanyo3211 4 года назад +1

    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 :)

  • @tabishjaved9250
    @tabishjaved9250 2 года назад +6

    if your content does not get displayed around 2:57:48, do this

    • @sanviseth123
      @sanviseth123 2 года назад

      TY!! also u need to add Routes to the import statement i think

    • @curtiscollins8845
      @curtiscollins8845 Год назад

      THANK YOU !
      I added
      import {BrowserRouter, Routes, Route} from "react-router-dom"
      To the top too and it works

  • @johnconnor9787
    @johnconnor9787 2 года назад

    PERN - this was exactly what I was looking for for so long. Great!!!

  • @tomr1352
    @tomr1352 4 года назад

    I used window.location = location.pathname and it worked for refreshing the add review instead of adding history.push

  • @fififinance7469
    @fififinance7469 4 года назад +5

    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!🤣👍

  • @richardobaze3249
    @richardobaze3249 2 года назад

    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

  • @warmick1993
    @warmick1993 3 года назад

    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 !

  • @olakunlemakanjuola4709
    @olakunlemakanjuola4709 4 года назад +2

    Honestly this tutorial really improved my react knowledge. Thanks a million

  • @ichdu6999
    @ichdu6999 4 года назад +2

    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!!

  • @nebojsasavic6262
    @nebojsasavic6262 3 года назад

    I like this method more than Sequelize ORM method for connecting with db. Thank you for a great vid

  • @JErock25
    @JErock25 2 года назад

    Yep, definitely interested in the video about the deployment, particularly the database

  • @nataliastasyuk1870
    @nataliastasyuk1870 2 года назад +1

    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!

  • @oghenefejiroprinceimene6090
    @oghenefejiroprinceimene6090 Год назад

    this is absolutely the best i have seen.. your explanation was wonderful. im really happy i found this video. thank you so much.

    • @duztv5370
      @duztv5370 9 месяцев назад +1

      Urhobo wado! Please was the course error free? Is it still advisable to take it in February 2024?
      Thanks

    • @oghenefejiroprinceimene6090
      @oghenefejiroprinceimene6090 9 месяцев назад

      @@duztv5370 brotherly greetings...yeah u can take the yelp tutorial I recommend it there is alot of knowledge in it ...

  • @TheInphinion
    @TheInphinion 4 года назад +1

    I just completed this video, and I learned a lot! Thank you so much.!!

  • @washimakram861
    @washimakram861 2 года назад

    at 5:47:08, you can use window.location.reload(false) in the handleSubmitReview function to reload the page after submission.

    • @shantanukorgaonkar3200
      @shantanukorgaonkar3200 2 года назад

      I removed the e.preventDefault() so that the page reloads on page submit

  • @arifluthfi1174
    @arifluthfi1174 4 года назад +39

    "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.

  • @amitsharma-ri3qk
    @amitsharma-ri3qk 3 года назад

    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.

  • @saidredouane8522
    @saidredouane8522 3 года назад +7

    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.

    • @jasonharris351
      @jasonharris351 11 месяцев назад

      He made a video called API Development in Python, he covers CI/CD, github actions, docker

  • @RokasZebrauskas
    @RokasZebrauskas 4 года назад +4

    Just as I was searching for a good project!! Really excited to start learning!

  • @joanispolo675
    @joanispolo675 4 года назад

    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.

  • @sahej97
    @sahej97 4 года назад +2

    Great Structure of the tutorial and you possess pretty awesome knowledge and hold over the entire flow :)

  • @TheDuckPox
    @TheDuckPox 4 года назад

    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!

  • @khandoor7228
    @khandoor7228 4 года назад +1

    very nice!! awesome. Dude I love the Postgres approach. You are very right about the MERN addiction. Great call!!

  • @karanmalh0tra
    @karanmalh0tra 3 года назад

    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.

  • @johnconnor9787
    @johnconnor9787 2 года назад

    You answered a whole bunch of my questions in this video. Awesome)

  • @user-pp4kn8tq7c
    @user-pp4kn8tq7c 4 года назад +1

    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.

  • @AnyFactor
    @AnyFactor 4 года назад +2

    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.

  • @ankithans5916
    @ankithans5916 4 года назад +4

    This is amazing. Can i know how to deploy the application with postgres database on heroku?? Like with mongo i could use mongodb Altlas.

  • @joychen1285
    @joychen1285 3 года назад

    This tutorial is so helpful to me!!!!!! really really appreciate !! And Please do AWS deploy tutorial, please!

  • @odunsi
    @odunsi 4 года назад

    Wow, thank you so much for this. I just finished with it and came here to thank you.

  • @bookedplus
    @bookedplus 8 месяцев назад

    Amazing course. a bit outdated but mostly amaizing. Good job

  • @Glebtc
    @Glebtc 2 года назад

    In case anybody has a problem @6:13:00:
    line 48 should have restaurant.count instead of restaurant.id

  • @ajaykumarreddy8841
    @ajaykumarreddy8841 4 года назад +1

    I've been wanting to do this for a long time now! Thanks for the video man! :)

  • @laurasikorakramer4384
    @laurasikorakramer4384 4 года назад

    AWESOME video!! SUPER helpful! would love another video on how to deploy!

  • @Only_truth_no_bakwas
    @Only_truth_no_bakwas 2 года назад

    Great video.Learn almost eveything in react.

  • @maensabih85
    @maensabih85 4 года назад

    Awesome tutorial and we need the deployment video please and thank you again 🙏 😊

  • @MichaelKret
    @MichaelKret 3 года назад

    an excellent tutorial, an interesting project, everything very well explained, thank you

  • @i_Amazin_
    @i_Amazin_ 3 года назад

    To fix the select input being out of line in the AddRestaurant form, change my-1 class on the to mb-1.

  • @NicoxBass
    @NicoxBass 2 года назад +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?

  • @taslimapatel5960
    @taslimapatel5960 4 года назад

    Hi I have learned a lot from this tutorial.Thank you very much.

  • @GrigorySm
    @GrigorySm 4 года назад

    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.

  • @1301Marko
    @1301Marko 3 года назад

    Great course! Although I must admit I was on my toes during the whole "retaurant " fiasco.

  • @eyosiasteffera3253
    @eyosiasteffera3253 4 года назад +1

    thank u very much this video is connected to project I am working great timing

  • @hos7012
    @hos7012 4 года назад

    This tut worth every second

  • @michaell664
    @michaell664 3 года назад +1

    Around 2:23:30 surely you don't need rows[0] as the ID is unique and should always return just one result?

  • @reiners705
    @reiners705 4 года назад

    Amazing tutorial. Thank you, and best of luck to your channel! Deserves way more subs.

  • @yoking1213
    @yoking1213 4 года назад

    Thank god I got something to work on for this weekend 😊 Thank you

  • @halilibrahimtosun9097
    @halilibrahimtosun9097 3 года назад +1

    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 ?

  • @tijanisylla1348
    @tijanisylla1348 2 года назад

    Thank you for the tutorial ! very clear explanation.

  • @matyascsoti4400
    @matyascsoti4400 3 года назад

    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.

  • @ConnorM468
    @ConnorM468 3 года назад +1

    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?

  • @bobclancy3768
    @bobclancy3768 3 года назад

    you are an awesome teacher!

  • @VaIrMp
    @VaIrMp Год назад +1

    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?

  • @cyrusguest4975
    @cyrusguest4975 3 года назад +1

    Great course, really well done and a great stack.

  • @harshsheth6633
    @harshsheth6633 4 года назад

    If possible please create a tutorial on data structures and algorithms(C++ preferably) easy to advanced.. & try to cover as many topics as possible.

  • @80Vikram
    @80Vikram 4 года назад +1

    Thanks a ton for this super useful video, god bless you

  • @sivaganesh4489
    @sivaganesh4489 4 года назад

    Awesome. completed in one day with code along

  • @maromasraf8650
    @maromasraf8650 2 года назад +1

    window.location.reload(false) 5:45:00

  • @supermedia4506
    @supermedia4506 3 года назад

    Postgres 13 on Mac doesn't require the directory stuff any more, just use psql -U postgres

    • @pearlsswine
      @pearlsswine 3 года назад

      LOL you can't use the psql command without the directory import.

  • @ahmedelsehrawy3809
    @ahmedelsehrawy3809 2 года назад

    thanks for that great project I was missing a lot

  • @mikutaa
    @mikutaa Год назад

    Super amazing and useful video!

  • @mirollacap
    @mirollacap 4 года назад

    Thanks man, you are very superpowerful

  • @anonymousbot2829
    @anonymousbot2829 4 года назад

    Please make a video on full stack with java spring ,spring boot with either react or angular

  • @blackwood8816
    @blackwood8816 2 года назад

    Great tutorial, thnks so much, but would be even cooler, if there were russian subtitles)))

  • @johannes8485
    @johannes8485 4 года назад +2

    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

  • @shamsshaikh2887
    @shamsshaikh2887 2 года назад

    outstanding video, thank you very much

  • @chrtravels
    @chrtravels 2 года назад

    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?