Build a Todo list app in HTML, CSS & JavaScript in 2024 | JavaScript for Beginners tutorial

Поділитися
Вставка
  • Опубліковано 3 жов 2024
  • Learn how to build a todo list web app in HTML, CSS and JavaScript with the ability to display, create, edit and delete your tasks. Task list, to-do list, shopping list.
    UPDATED VERSION (With Local Storage): • Build a Todo List App ...
    Source code: github.com/Tyl...
    // JOIN THE NEW DISCORD SERVER!
    / discord
    // MY GEAR FOR CODING AND UA-cam
    Blue Yeti Microphone: amzn.to/3jr3l7T
    Microphone Stand: amzn.to/35B9LMN
    Chair: amzn.to/3dWds3F
    Thunderbolt Dock: amzn.to/3osBF6u
    Monitor: amzn.to/37I8KoR
    Screenbar Light: amzn.to/3iFRS7w
    All of these products I own and have tested!
    // FOLLOW ME ON TWITTER
    / tyler_potts_
    // INTERESTED IN GAME DEV?
    Game development channel: / muddywolf
    // CHECK OUT MY GAME
    play.google.co...
    // DO THESE SIMPLE STEPS
    LIKE, SUBSCRIBE & SHARE

КОМЕНТАРІ • 447

  • @mrtech7940
    @mrtech7940 Рік тому +3

    it took me more 3 hours to complete the project ,yet i ve learned lots of things .Thanks budddy so much

  • @babylee3975
    @babylee3975 3 місяці тому +1

    As a new developer i must say that you did a good job in breaking down the explanations properly and this video really helped. Good job👍🏾

  • @MartinExequielFuraca
    @MartinExequielFuraca 2 роки тому +10

    I was trying to practice with several projects, but i was really bored. This was absolutely helpfull and fun, thank you SO MUCH!

    • @TylerPotts
      @TylerPotts  2 роки тому +1

      Ayy awesome! We all love a fun project! :D

  • @zafiroula100
    @zafiroula100 2 роки тому +2

    Idk why everyone complains about the speed. Im a beginner too and i find that you explained everything in detail. I love your videos, the styling here is really good, well done🙌👏

  • @soumelee5661
    @soumelee5661 Рік тому +35

    2:38 html file
    7:51 css file
    21:26 js file

  • @alicia4070
    @alicia4070 2 роки тому +62

    Great video, but I think for any future beginner videos, going at a slower pace would help us noobies out a lot!

    • @TylerPotts
      @TylerPotts  2 роки тому +5

      I'll try to take that into account! Thank you!

    • @koshobai
      @koshobai 2 роки тому +2

      It's super convenient to use the video playback functions like .75x and whatnot

  • @yassminh
    @yassminh 2 роки тому +88

    I've been learning JS for 3 months now and stuck on how to take what I've been learning and create stuff with it. This has been a great intro into it's possibilities. Fun tutorial! Thank you :)

    • @TylerPotts
      @TylerPotts  2 роки тому +6

      Great to hear!

    • @alexandrabalanescu8340
      @alexandrabalanescu8340 2 роки тому +4

      Same here 😩 how are you doing now though?

    • @kritisrivastava6451
      @kritisrivastava6451 2 роки тому

      Same!

    • @jasonlago5129
      @jasonlago5129 Рік тому +1

      Im glad im not the only one. I feel like im stuck in "basics Hell" and just need that final push

    • @PeteGoode
      @PeteGoode Рік тому +4

      try this: find a record keeping problem in your home to solve
      Example: A digital book catalog
      create a book catalog where you can check books in / out
      tasks:
      1. create a new record (book title, author, etc)
      2. generate a list showing books in various ways
      - alphabetically by title
      - alphabetically by author
      - alphabetically by subj
      - alphabetically by genre
      3. create check in / out functions
      - record date & time
      - record to whom
      level it up later by scanning the UPC or entering the ISBN to auto populate the book details.

  • @ikleveland
    @ikleveland 2 роки тому +79

    to fast, more explanations.... we get it, you can do it, just explain more, and slow down .... you will have a great channel if you do this !

    • @TylerPotts
      @TylerPotts  2 роки тому +12

      Noted!

    • @ikleveland
      @ikleveland 2 роки тому +2

      @@TylerPotts You the man !!!

    • @gamerparadise3694
      @gamerparadise3694 2 роки тому

      @@ikleveland you tell me how to make it save when i leave tne page plz cant figure it out

    • @space_raven5082
      @space_raven5082 2 роки тому

      @@gamerparadise3694 currently there's a video in the description describing that!

    • @ayushdudhani
      @ayushdudhani Рік тому +1

      short videos are better !
      I have seen some very long videos that never gets completed!

  • @Blentux
    @Blentux 2 роки тому +9

    Very well structured tutorial. Thought I could already do it myself with my basic JavaScript skills.
    Had no actual problems until I came to the part with deleting posts (I didn't even had an edit function built in.)
    But this taught me a lot, thanks for that :)

  • @SameerSinghGarden
    @SameerSinghGarden Рік тому

    Thankyou so much for the tutorial, learnt many new things !

  • @TomasMisura
    @TomasMisura 6 місяців тому

    thanks a lot for this video. I have been programing quite long time but still could learn couple of programming techniques that helps me a lot!

  • @tekskilldev8310
    @tekskilldev8310 2 роки тому +1

    Tyler great video. I am not a beginner. However, it showed me how to complete CRUD operation with basic DOM manipulation techniques. Bravo! Great Job!

  • @yungshabba5119
    @yungshabba5119 Рік тому

    Best tutorial i've done so far. Thanks Tyler !

  • @hackrecordz
    @hackrecordz 2 роки тому +1

    Hi Tyler! Thanks for the great video. To do list app is very useful for beginners in Javascript, so your video helped me a lot

  • @animeshjha31
    @animeshjha31 Рік тому +4

    Hi Tyler, it was an intersesting project. The "not" condition in css was a bit new and confusing but the project as whole was very interesting and helpful. Thanks again 🙂

    • @TylerPotts
      @TylerPotts  Рік тому +1

      I'm happy you learned something! The not condition is super powerful! 💪

  • @tenc6491
    @tenc6491 2 роки тому +1

    1:54 made me pause the video to make a cup of delicious-looking tea like yours. Hardcore tea lover here
    Imma continue this tutorial and get back.

    • @TylerPotts
      @TylerPotts  2 роки тому +1

      Haha, you got to make a good brew!

    • @tenc6491
      @tenc6491 2 роки тому

      You bet!
      That said, I loved your video tutorial and narrations. I am still halfway through Js part coz I am trying to sink in everything you teach here.
      I must say, it's looking beautiful thus far. Thanks for the share mate!
      Regards from France!

  • @justinckho9390
    @justinckho9390 2 роки тому +4

    Great tutorial for beginners. Thank you very much!

  • @juliethomas4826
    @juliethomas4826 2 роки тому +1

    Hey, I've never found a video worth commenting on before...until today! I found you so easy to follow! I started coding 8 weeks ago, mainly html and css, but wanted to get to grips with how to use javascript. This video was perfect as I really liked the way you show the divs with the tasks in for the css benefit, then take them away completely, showing us how to then add them with javascript. OK, your javascript part of the video was a little fast but that may well be that I wasn't confident with my code. All I can say is, very much appreciated, great video and thank you!!

    • @TylerPotts
      @TylerPotts  2 роки тому +1

      Thank you, Julie! That made my day 😁

    • @juliethomas4826
      @juliethomas4826 2 роки тому +1

      @@TylerPotts to be honest, your video made my day because I've been struggling to get to grips with how to combine CSS styling and JavaScript. Your video showed exactly what I needed to see in a way that was understandable! If you get a minute to reply, did you make a video after this one? And if so which video? I've subscribed but haven't had a chance to look through yet.

    • @TylerPotts
      @TylerPotts  2 роки тому +1

      There's a similar video which covers local storage as well which I've just created it's a task list app but for 2022!

    • @juliethomas4826
      @juliethomas4826 2 роки тому

      ​@@TylerPotts awesome. I'll take a look.
      Definitely keep posting...you're a great youtuber!

    • @Cheetohzz
      @Cheetohzz Рік тому

      im in the same boat haha. also ya during the javascript part i can confidently say i was just writing what he was and not knowing what i was doing :D

  • @ahmadoudiallo7907
    @ahmadoudiallo7907 2 роки тому

    Awesome. Thank to you I know how to create a nice Todo by following step by step you explanation in this video. Clear image that I can read even in my cell phone. Thank you much.

  • @nhuyen9355
    @nhuyen9355 2 роки тому +1

    Hi Tyler. Thanks for the lesson, great.

  • @Salah-YT
    @Salah-YT 2 роки тому +2

    thank u so much bro and because it is a good video I did LIKE and SUB for u ok bro keep it up well done and I'm new so this is will be my first project bro thx

  • @JonathanLeon
    @JonathanLeon 2 роки тому +1

    Decent video. That’s a lot of CSS!

    • @TylerPotts
      @TylerPotts  2 роки тому +1

      It is definitely a lot of CSS 😅

    • @JonathanLeon
      @JonathanLeon 2 роки тому

      @@TylerPotts Yeah. I do like the variables however.

  • @vaniilla
    @vaniilla 2 роки тому +2

    Useful,Thank u!

  • @cakeestv9973
    @cakeestv9973 Рік тому

    Great vid! :)

  • @Pooriel
    @Pooriel 2 роки тому +2

    I tried to make this with localStorage and omg it gets fucked up...
    saving tasks with an array was ok.
    saving changes after deleting a task was also ok by getting the index of deleted task and splicing it from the array.
    but it doesn't work when I edit a task. the index of the edited task always becomes -1 so I can't replace the original task in the array with the edited one.
    help?? :)

    • @mdateeq9210
      @mdateeq9210 2 роки тому

      I am also facing problems while trying to make it with localstorage, the rendering and adding to storage work fine but editing the changes is so confusing, btw how did you get the index of the task to delete? can you link the github/code please, ty

  • @chirag8503
    @chirag8503 2 роки тому +4

    Great video but man your are fast AF slow down and explain stuff mainly JS .. otherwise 🔥

  • @NuelWrld
    @NuelWrld 2 роки тому +1

    Great Video but This isn't a tutorial video for noobs cus he isn't taking his time to explain some certain things
    and don't bother coding while watching this video
    you'll get frustrated

  • @wisdom4070
    @wisdom4070 10 місяців тому

    that's really awesome

  • @Devsycoder
    @Devsycoder 2 роки тому +1

    Hey there, im getting an error when i run it and it doesnt add a task after i coded the JS - 'node' is not recognized as an internal or external command,
    operable program or batch file

  • @gtoys-l1f
    @gtoys-l1f 6 місяців тому

    Thank you for this video, can you please do this same idea with saving data in SQLite, so the entire application (HTML, CSS, JS and the SQLite db) can be moved and run on other computers without a hosting server or even run it from a flash drive. I would like to add the login function as well. Thank you again.

  • @chandangarg9125
    @chandangarg9125 Рік тому +1

    can someone tell me what was the answer to the localStorage question? I didn't understand it.
    write the syntax

  • @SHIVAMTIWARI-we9jq
    @SHIVAMTIWARI-we9jq Рік тому

    too good and thanks a lot

  • @fawad6658
    @fawad6658 11 місяців тому +1

    Sir, Which extension you are using for code suggestions? Plz 🙏

  • @t99m0
    @t99m0 Рік тому

    thanks for the tutorial ,can u tell me What RPM does your channel have?

  • @fhariri
    @fhariri 2 роки тому +1

    Yo how do you get the auto suggestions for Javascript in VS Code where it suggests the next line for you? Great video btw thanks ❤

  • @DavidmekontsoSonwa
    @DavidmekontsoSonwa Рік тому +1

    Wow,this video explains exactly what I didn't understood before and ofcourse I got to learn numerous new methods.🎉
    But for now ,I want to know how to add the local storage as continues to this task lists...

  • @biLLie_wiLLie
    @biLLie_wiLLie 3 роки тому +5

    21:30 JS begins here

  • @anupam6045
    @anupam6045 2 роки тому

    nice explanation and project

  • @Silleman203
    @Silleman203 2 роки тому +1

    actually u did just program and not really explain a lot. minus for that

  • @Noritoshi-r8m
    @Noritoshi-r8m 2 роки тому +6

    Man i love the way you code, learned a lot of vscode shortcuts along with JS. Great tutorial.

  • @danielfrom5002
    @danielfrom5002 2 роки тому +1

    Could we have a part 2 with localStorage please :).

  • @lasha-darchiashvili
    @lasha-darchiashvili 2 роки тому +2

    I just watched video and then did it all by myself, on top of that I added error popup on submiting empty form :D . Everything was very well explained, thank you. I just want to know Is it okay to use this kind of small projects in my portfolio? of course more complex ones are better but still

    • @TylerPotts
      @TylerPotts  2 роки тому +1

      Great job! That's awesome! Yes of course! Using projects like this show you can use all the essential methods of CRUD (create, read, update, delete) which looks great on a portfolio!

    • @lasha-darchiashvili
      @lasha-darchiashvili 2 роки тому

      Thanks for answering ❤

  • @Urimemo
    @Urimemo 2 роки тому

    dayum bro, you're fuckin' hero man. 10X u for save me.

  • @UECAshutoshKumar
    @UECAshutoshKumar Рік тому +1

    Thank you

  • @mertvak
    @mertvak 2 роки тому +1

    HI, may i suggest that you do a 2022 one for this year please

  • @waqaspathan3337
    @waqaspathan3337 2 роки тому +11

    for people saying he went too fast: This is supposed to be a very brief tutorial, if you want more details and deeper understanding, don't click on a short video. Thank you Tyler for this! I have a lot of experience with python but I wanted to begin learning javascript so this was an excellent tutorial, please continue!

    • @TylerPotts
      @TylerPotts  2 роки тому +1

      Thank you, Waqas. I'm happy you enjoyed it! :D

  • @ToomanyFrancis
    @ToomanyFrancis Рік тому +1

    Everything works as shown in the video, but I am beyond confused as to why the tasks are truncated instead of properly adjusting vertically to the size of the display. I can't find anything online that has a solution to this.

  • @raghavkr2746
    @raghavkr2746 Рік тому +1

    can you please send the code with local storage

  • @abielyacob5097
    @abielyacob5097 2 роки тому +1

    Great Content👏.. Would you let us know what IDE theme you are using in this video.?

  • @eduop4394
    @eduop4394 2 роки тому +1

    muito bom mano

  • @s0mbrrer0
    @s0mbrrer0 Рік тому

    Thanks, very informative. There are very few such interesting Russian-speaking lessons

  • @mr.kachoo8784
    @mr.kachoo8784 Рік тому

    Thank you bro is Good

  • @MehmedAk
    @MehmedAk Рік тому +2

    Thank you for the video, definitely helped jump start things at the JS side.

  • @kiranmoura2974
    @kiranmoura2974 2 роки тому +1

    hello...
    It was a knowlegeable video , thank you so much for this .

  • @adesanyaoluwatobiloba6876
    @adesanyaoluwatobiloba6876 2 роки тому +1

    Dope!

  • @ItzShrav
    @ItzShrav Рік тому +1

    thanks man, this was my first web dev project took me 3 days to finish this video But i did it! appreciate you bro

  • @ondrejmuzik8345
    @ondrejmuzik8345 2 роки тому +2

    great video, i love tutorials where i dont just copy but i learn along with it

  • @mr6462
    @mr6462 Рік тому +2

    Thanks for the little pieces here and there that really gave me hopes of making progress!

  • @marymonisola6448
    @marymonisola6448 11 місяців тому

    Please how will you make the to do list show as you are coding ❤

  • @pilloIMNG
    @pilloIMNG 6 місяців тому

    Loved this tutorial! Thanks for the help, I was stuck trying to build my own but came here and it was clear as the water, amazing explanation!
    One question tho, whould it any different it you didn't create the task_content_el? (div inside task_el)

  • @tanny978
    @tanny978 2 роки тому +1

    Is this responsive??

  • @dries59dep
    @dries59dep Рік тому

    Also define the standard property 'background-clip' for compacbility ... You had it also as warning ... Howto fix ?? Thanks

  • @goesbySanish
    @goesbySanish Місяць тому

    @34:00 for delete operation, whats the difference between
    1) list_el.remove(task_el) 2) task_el.remove()

  • @_Greenflag_
    @_Greenflag_ 2 роки тому +2

    Yop, thank you for your tutorial.
    To respect more the DRY principle, you can create a simple function to no repeat the creation of an element and assignment of a class. This way, you can spare lines of code in your main.js:
    function createElWithClass(newEl, newClass) {
    const current = document.createElement(newEl)
    current.classList.add(newClass)
    return current
    }
    Simple use :
    const taskEl = createElWithClass("div", "task")
    Other thing : if the input is empty, displaying an alert box .. is kinda ugly for the user : )
    const header = document.querySelector("header")
    if (!task) {
    const incorrectSub = document.createElement("p")
    incorrectSub.textContent = "Please fill out the input"
    incorrectSub.style.color = "red"
    header.appendChild(incorrectSub)
    return
    }

  • @dugalcedo
    @dugalcedo 2 роки тому

    im new to javascript and something i don't understand is how on the delete button event listener, removieChild(task_el) knows which task to delete? like how come when you click delete it just doesn't remove a completely different task, like the first one? how does it know which task you're trying to delete?

  • @dilbermt9203
    @dilbermt9203 Рік тому

    Nice video bro

  • @asabeprasad
    @asabeprasad Рік тому

    My edit function is not working.... Focus is only getting aplied for the first element and value of button changing for the last one....any suggestions?

  • @Scottyhutch1
    @Scottyhutch1 2 роки тому

    Great video. But remember, this video is teaching a beginner, not showing a teacher your skills. maybe slow down and explain things a little more, please. cheers

  • @badolhossain1207
    @badolhossain1207 Рік тому +1

    the best for everyone

  • @shawngardiner2604
    @shawngardiner2604 2 роки тому +5

    Hey Tyler awesome project, great concepts for beginners to lear foundational wise. But a question, in your JS logic, would it be a good idea to create all the elements first, then append the Childs, then add the delete and edit functions?

    • @TylerPotts
      @TylerPotts  Рік тому

      Yeah that could work and while its loading all of them (in case of 100s) you could always add a loading bar or spinner!

  • @fabisafsten-suarez7921
    @fabisafsten-suarez7921 Рік тому

    When I click the Add Task button the word i typed dissapears and doesnt print out the word in the tasks section. Does anyone know where i could have messed up?

  • @fasanmichael
    @fasanmichael 2 роки тому +1

    I got lost inside the function when you were creating new elements…
    Also, copilot was really interfering with your tutorial sadly
    But thanks for the hints on some features I had no idea existed in css! Keep it up!

  • @harrisimtiaz4277
    @harrisimtiaz4277 Рік тому

    Heyy!!'
    Just wanted to know is it the same as CRUD???
    or Local Storage???

  • @pbznt
    @pbznt 2 роки тому +1

    Nice video! But I don't understand how javascript knows which toDo you are targetting when clicking on edit or delete. Because those DOM elements are targeted by ID. But multiple toDos have the same ID. Why, for example, aren't all the toDos deleted when you click delete? I am talking about the line 54, 55, 56. Thanks!

    • @kugh2384
      @kugh2384 2 роки тому +2

      JavaScript is very smart and can read your mind.

    • @Xcodes1
      @Xcodes1 Рік тому

      I think that's an extension of vscode

  • @himabimdimwim
    @himabimdimwim 2 роки тому +2

    Great video! I love it. Most videos are way to slow, but I think that your video is the exception, it's actually a bit too fast! (Especially in the JavaScript area). Don't get me wrong, I appreciate the too the point and consise nature of the video, but the second half felt more like a lecture than a tutorial.

    • @yassminh
      @yassminh 2 роки тому +1

      You change the playback speed of the video, if that helps :)

  • @tisanefruitrouge9512
    @tisanefruitrouge9512 3 роки тому +3

    Hi Tyler! This was a great video and I hope you are doing well. Is vanilla javascript still used in the industry or is everyone using js frameworks? Thanks

    • @TylerPotts
      @TylerPotts  3 роки тому +3

      Vanilla JavaScript is widely used still! We use it at our place of work alongside other languages like php and css

  • @Gugapoeta
    @Gugapoeta Рік тому +1

    omg.. spent the last six hours trying to understand a tutorial on how to make a todo list with JS and couldn't figure out lots of stuff. Came here and thats it, half an hour passed and I got it all! 🤣 huge thanks to you Tyler!!!

  • @sivavasanth1901
    @sivavasanth1901 Рік тому

    can you explain me why you have commented the div @21:19 and how did you access the commented div in JS in the javascript

  • @abshirneeqo1758
    @abshirneeqo1758 Рік тому

    Please I need help i have stucked over on adding tasks whenever I run my code i doesn't show on my screen i need someone to help me with this thanks

  • @yogyyconst
    @yogyyconst Рік тому

    why most js programmer using semicolon? although can use without it, btw thanks for the tutorial

  • @chrisc1080
    @chrisc1080 6 місяців тому

    for some reason the variables set in root didn't work for me, had to enter the hex colors manually.

  • @abulshaher1955
    @abulshaher1955 Рік тому

    Hi, how would you generate an executable Jar file for the ToDo list program?

  • @gamertechkid1490
    @gamertechkid1490 Рік тому

    I wish someone explain with a bit more detail what is happening in each line of code at 27:53. I don't understand what all the different lines are doing.

  • @SuperKevinFS
    @SuperKevinFS Рік тому

    Hi mate how do you use the app if you want to use independent of visual basis thank u

  • @balikisbolanle2107
    @balikisbolanle2107 2 роки тому

    Hi, please does this "window.addEventListener" works on mobile phone?

  • @TopeKings
    @TopeKings 6 місяців тому

    Please what is the extension that is making does cool preset or demo code

  • @rishikasharma7137
    @rishikasharma7137 7 місяців тому

    Hey tyler. I have some queries related to javascript
    Could you please guide me

  • @Hubie468
    @Hubie468 Рік тому

    how did you auto populate section.task-list into

  • @theeasterling3383
    @theeasterling3383 Рік тому

    so much repeated code and complex selectors but overall the vid is great

  • @imiebaka
    @imiebaka 2 роки тому

    Intresting, I'll like to make a pull request for localStorage

  • @IlzaHaliza
    @IlzaHaliza Рік тому +1

    Thanks for the step-by-step video.
    Easy to follow.

  • @amirmanzoor4343
    @amirmanzoor4343 Рік тому

    May I know which extension are you using for css

  • @osmanbehluli7721
    @osmanbehluli7721 2 роки тому

    Whats the extension for javascript to guess what you're going to write?

  • @somayamoniry
    @somayamoniry 2 роки тому +3

    Hi Tyler, many thanks for creating this video and doing this project I really learned lots of new methods in js. if it is possible just do it slower that would be so great😊. but I think you've forgotten to put the link to the article CSS variables.🙂

    • @TylerPotts
      @TylerPotts  2 роки тому +2

      Thank you and I will do! :D

    • @tenc6491
      @tenc6491 2 роки тому

      You can always set the playback speed on UA-cam as per your preferences. Just saying!

  • @M4rtim_Gamer
    @M4rtim_Gamer Рік тому

    i wanted to make something for my school
    how can i make everyone see what i add

  • @bereketsisay1791
    @bereketsisay1791 2 роки тому +1

    Thanks man....this helped alot

  • @worldofinformationandenter9581

    Hi,I have a question.What was the purpose of setAttribute (readonly,readonly),while we simply could just set the attribute readOnly in the code?

  • @kareynjeri3982
    @kareynjeri3982 2 роки тому +2

    i think this is among the most well explained tutorial

  • @Dalsy97
    @Dalsy97 2 роки тому +3

    Nice tutorial, fun, straightforward and well explained concepts. I'm studying too so this has been really helpful. Just one thing if I may ask, how can I achieve the same result without using the -webkit- you used in the CSS to style the texts?

    • @DharmRakshak2
      @DharmRakshak2 Рік тому +2

      Yes I would also like to know this.

    • @TylerPotts
      @TylerPotts  Рік тому

      Hmm I don't think it's possible to achieve without webkit unless you use SVGs? Which may be a solution you could look into if you want!