Web App Tutorial - JavaScript, Mobile First, Accessibility, Persistent Data, Sass

Поділитися
Вставка
  • Опубліковано 11 лис 2020
  • In this tutorial, we will build a to-do list app with HTML, SASS / CSS, and Vanilla Javascript. Our to-do list web app will be responsive with mobile first in mind. The to do list app will also be built with accessibility (A11y) in mind for keyboard navigation and screen readers. We will also use the Web Storage API to create a persistent data store so our list items reappear any time we visit the web app.
    📺 Tutorial by Dave Gray. Check out his UA-cam Channel:
    / davegrayteachescode
    ⭐️ Course Contents ⭐️
    ⌨️ (0:04) Introduction / App Outline
    ⌨️ (1:24) HTML foundation
    ⌨️ (12:24) SASS / CSS styles
    ⌨️ (50:05) JavaScript Classes
    ⌨️ (57:25) JavaScript Functions
    ⌨️ (1:41:53) Testing the Accessibility features
    ⌨️ (1:45:56) Code clean up and enhancements for A11y
    ⌨️ (1:59:40) Testing the fixes & enhancements for the app
    ⌨️ (2:00:55) Wrap-up: How do you want to improve the to do list app?
    📚 Further Reading:
    🔗 Official SASS website: sass-lang.com/guide
    ✅ Follow Dave here:
    🔗 Twitter: / yesdavidgray
    🔗 Reddit: / daveoneleven
    🔗 LinkedIn: / davidagray
    --
    Learn to code for free and get a developer job: www.freecodecamp.org
    Read hundreds of articles on programming: freecodecamp.org/news

КОМЕНТАРІ • 133

  • @stepanovps
    @stepanovps 3 роки тому +11

    Dave you're very humble and professional tutor. Love the video!

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

    Guys we just definitively donate a little bit to Dave!

  • @papasmurf5042
    @papasmurf5042 3 роки тому +18

    Thanks for the help I am definitely going to use this to make my Smurf Village with this

    • @papasmurf5042
      @papasmurf5042 3 роки тому +1

      Hello let’s make a community in my comments reply’s

    • @papasmurf5042
      @papasmurf5042 3 роки тому

      @@pariahsgrit great idea

    • @samcodes2912
      @samcodes2912 3 роки тому

      great idea

    • @papasmurf5042
      @papasmurf5042 3 роки тому

      My reply is the most liked I’m pretty sure

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

    Great info. So many tutorials only go halfway and leave out the accessibility polish. Thanks.

  • @_ShuvamKumar_CseB
    @_ShuvamKumar_CseB 2 місяці тому +1

    Completed this beautiful project ( my first) . Learned alot .
    Love from 🇮🇳.

    • @amirfal950
      @amirfal950 2 місяці тому

      if u completed it and it works can I see your code please ? I have a problem I can't solve

    • @_ShuvamKumar_CseB
      @_ShuvamKumar_CseB 2 місяці тому

      @@amirfal950 What's your problem?

  • @ankitnegi132
    @ankitnegi132 3 роки тому +8

    Awesome video Dave, greatly explained everything, haven't really seen someone using javascript this good, like creating classes and reusable functions...really really liked your content💖

  • @Saurus990
    @Saurus990 6 місяців тому +2

    At first I was confused what such a simple app is doing so deep into the Learning Path Playlist. But now that I'm almost finished, I gotta say it's a great look into professional workflow, and how to maintain readability/maintainability of the code base, by breaking everything into corresponding components. Good stuff.

  • @anfilofiosantosfilho7792
    @anfilofiosantosfilho7792 3 роки тому

    Great tutorial. Congratulations!

  • @angeloramas3277
    @angeloramas3277 3 роки тому

    Great video. You are a great teacher, thanks !!!

  • @stergiosk6064
    @stergiosk6064 3 роки тому +1

    This is a great tutorial. Thank you for the fantasctic work!

  • @dennyluckes4783
    @dennyluckes4783 3 роки тому +1

    thank you, Dude!

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

    Great tutorial, thank you.

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

  • @chamocol3614
    @chamocol3614 3 роки тому +1

    Gracias acá aprendí saas y me de javascript...🤝🏼

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

    Completed successfully ✅ learned a lot from this 🎉

    • @amirfal950
      @amirfal950 2 місяці тому

      if u completed it and it works can I see your code please ? I have a problem I can't solve

  • @hassaneoutouaya
    @hassaneoutouaya 3 роки тому +1

    Thank you Mr !

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

    Good tutorial, thank you :)

  • @Hey_Delight
    @Hey_Delight 3 роки тому

    An awesome 2021 to all!
    💥💫❄✨

  • @raz210
    @raz210 3 місяці тому

    learning to code and organise our work

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

    excellent tutorial! i still dont have any clue bout what we did, but it worked! good starting point hahaha
    saludos de chile!

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

    This is a great example of splitting the functions up so its cleaner but feel it's N overkill for this type of app and could be coded much simpler. Just my opinion but I do love the way he shows us how to code a class based structure

  • @ismailmega
    @ismailmega 3 роки тому +1

    Awesome

  • @redbullking9136
    @redbullking9136 3 роки тому +1

    Great video

  • @ButImFeelingMuchBetterNow
    @ButImFeelingMuchBetterNow 3 роки тому +1

    Fantastic. Thank you. The javascript itself is a bit beyond my skill level at this point. What I would love to add is sub-items. No idea how I would go about that.
    A few things didn't work for me on my pc setup. It might be because I am in Linux instead of Windows.
    - Firefox did not display the styled checkboxes (just the default look). The styled checkboxes displayed correctly in other browsers.
    - Installing the Chrome Vox extension in Chromium, the voice (oddly, as it seems to be the point of the extension) did not work. Just got sounds on clicking tabs, etc.
    - Could not find the Live Sass Compliler in the vs code extensions on the vs code version I have installed. However, I already had Sass on my system previously, and just manually (command line) started the sass watch command.

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

  • @Knochen41
    @Knochen41 3 роки тому +1

    Hi, Dave. Thx a lot for the awesome tutorial. I use the same extensions for VS like you introduced. But by me the viarables are white not color. also some key words like document, localStorage, event are white. Do you know what's the reason for it? Because i get a problem by doing the same as you. so maybe something is wrong. can you give some advice? the second question is why do you underscores by using this. thx

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

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

    a quick question. at 37:53 we could have used display: none; on the label element instead of moving it away from the screen, why didn't we do that? Is that because display: none; affects accessibility?? or just a choice?

  • @arpro3038
    @arpro3038 4 місяці тому +1

    Thank you for this video, how can I make this into drive mobile device local storage so it does not matter which browser is selected?

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

    How different is the event "readystatechange" coded for the App Launch from "DOMContentLoaded"?

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

      Good question. There are comparison examples here: developer.mozilla.org/en-US/docs/Web/API/Document/readyState

  • @rochijacob2196
    @rochijacob2196 3 роки тому

    Is there a repository or somthing to check the code? I am following the tutorial yet I messed up in something and my app doesn't work

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

    Hello Dave , thanx for the great work we do really appreciate your insightfull tutorials like this one, however, i have encoutered an error in main.js @add listeners, the compiling returns with an UncaughtType errorr of
    cannot read property addEventListener to null
    const itemEntryForm = document.getElementById("itemEntryForm");
    ------------> itemEntryForm.addEventListener("submit", (event) =>{
    event.preventDefault();
    processSubmission();
    });
    could you please enlighten me or anyone on this forum how to rectify this ?

  • @kumarans9704
    @kumarans9704 3 роки тому +1

    Finally Snape was caught.

  • @abhigedam89
    @abhigedam89 3 роки тому +1

    Hey Dave I am getting error message in chrome where it says Acess to script at main.js from index.html:1 origin 'null' has been blocked by CORS policy.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode 3 роки тому

      You must run a local dev server like the Live Server extension to use JS modules. I'm guessing that is the reason for the CORS error. You must also have type="module" in your script tag.

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

      @@DaveGrayTeachesCode Still I am getting this error. Need help

  • @shanthakobyan3578
    @shanthakobyan3578 3 роки тому +1

    Like this video

  • @mwill152
    @mwill152 3 роки тому +1

    Hi I have added in 'live sass' and checked the settings but there are none for it !!!! Am I missing something ?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode 3 роки тому +1

      Hi Melanie. You might try restarting VS Code after installing the extension. I don't think that is required, but if you have installed the extension and you don't see the settings, it is worth trying. I display the settings at the 16:00 minute mark of the video.

    • @mwill152
      @mwill152 3 роки тому

      @@DaveGrayTeachesCode Thanks seems to be there now. I wanted a dist folder in my project folder but it kept creating it higher up in the structure !!

    • @mwill152
      @mwill152 3 роки тому

      @@DaveGrayTeachesCode Also do you have a copy of the finished code, mine is not working and I need to compare to see where I went wrong 🤔

  • @geekyaman3842
    @geekyaman3842 3 роки тому

    51 ST LIKE HERE WE GO!! CAN WE GET A REACT NATIVE COURSE TOOOO!!! WAITING FOR IT

  • @salgorogaztec8846
    @salgorogaztec8846 3 роки тому

    Thanks for the tutorial! I had 2 issues at the end that I can't figure out my problem. I have triple checked every single line comparing main.js to my VS Code and I'm 99% sure they are identical.
    1. My clear button does not clear my list when I click on it.
    2. The very last function updateScreenReaderConfirmation displays a message on my screen "eggs removed from list" instead of having the voice work.
    Any tips in the right direction would be appreciated!

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode 3 роки тому

      Hi, without seeing your code, I cannot help much. The clear button code does work. I'd suggest comparing that section of your code to the video again. The very last function should be updating a paragraph element that is styled to display offscreen. If it appears onscreen, you are missing that styling.

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

  • @jacob.peters
    @jacob.peters 3 роки тому +1

    45:23 anyone else having trouble with the scss here? flex just lined everything up in a row for this container instead of having the title/button, hr, list in a column

    • @jacob.peters
      @jacob.peters 3 роки тому

      nvm figured it out. messed up the div tags for those items.

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

      Hello am having the same problem here how we're you able to fix it

  • @duartelucas8129
    @duartelucas8129 3 роки тому

    Where is that emulator on the right coming from?

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

    John Wick teaches you how to code

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

    Present sir

  • @thecscontent5110
    @thecscontent5110 3 роки тому +1

    I also do videos about programming!😁

  • @swistek00
    @swistek00 3 роки тому

    someone have done and working code and can share? thanks

  • @sovereignlivingsoul
    @sovereignlivingsoul 3 роки тому

    Would have been useful, but for some reason not reading the javascript. Using VS Code, nothing in the comments, no console, no network issues, total silence and yet it won't work. I have checked the code for errors, found some typos but fixed them. Good video though, excellent with explanations.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode 3 роки тому

      Hi Dash, if you import modules like I did in the video, you need to run a local dev server like the Live Server extension. JS modules won't work if you just load files directly into the browser. Your script tag also needs type=module. This is just my best guess as to why your browser may not be reading all of the JS.

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

    • @lukebriggs157
      @lukebriggs157 8 місяців тому

      @@DaveGrayTeachesCode @sovereignlivingsoul I have this issue also. did you work out a solution?

  • @bestopinion9257
    @bestopinion9257 3 роки тому +4

    I can't stay 2 hours here. Where did he stored the data? Cookie blocks?

    • @kaustubh.sharma
      @kaustubh.sharma 3 роки тому +1

      tell me too :)

    • @ankitnegi132
      @ankitnegi132 3 роки тому

      localStorage

    • @samcodes2912
      @samcodes2912 3 роки тому

      why?

    • @bestopinion9257
      @bestopinion9257 3 роки тому

      @@samcodes2912 No need. I can do that in less than 2 hours from scratch. I was just curious if he used cookies or not for that. It may be interesting to watch but I prefer to do something else with my time.

    • @ankitnegi132
      @ankitnegi132 3 роки тому

      @@bestopinion9257 yes you are correct that you can do this in even less than 1 hour ...but the way he code was really really good.

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

    34:03

  • @RodrigoMendoza7
    @RodrigoMendoza7 3 роки тому +1

    Is there a full course on Accessibility?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode 3 роки тому +1

      If you look under free courses in the Udacity course catalog, there is a short course. Also, Rob Dodson (a Google Dev Advocate) has a good playlist on YT called A11ycasts.

    • @RodrigoMendoza7
      @RodrigoMendoza7 3 роки тому +1

      @@DaveGrayTeachesCode Awesome. Thank you!

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

  • @NikhilVerma-jk9ng
    @NikhilVerma-jk9ng 3 роки тому +4

    damn you guys really after paid courses !but thanks for that free knowledge tho i am paying for internet tho (hope it make sence )

  • @kirarevcrow
    @kirarevcrow 3 роки тому

    We want reactnative tutorials

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

      there are a bunch of them already

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

      @个人开发小程序、app、公众号、业务系统 There are a bunch of them. If he really wanted to learn something this would have already happened. He is just a lazy dude with a low IQ.

    • @samcodes2912
      @samcodes2912 3 роки тому

      JavaScript pro?

    • @sandrat9309
      @sandrat9309 3 роки тому

      @@aammssaamm dude chill out

    • @aammssaamm
      @aammssaamm 3 роки тому +1

      @@sandrat9309 get lost

  • @pajeetsingh
    @pajeetsingh 3 роки тому +1

    Badass Tattoo!

  • @CJ-jt4bv
    @CJ-jt4bv 3 роки тому

    john wick also known coding

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

    Its to complicated ...there is functions inside functions like function hell

  • @TheEnsonL
    @TheEnsonL 3 роки тому

    I mean this no offence, but are you secretly Matt Mercer?

  • @itreportcambodia8283
    @itreportcambodia8283 3 роки тому

    How are you.

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

  • @randy6281
    @randy6281 6 місяців тому +1

    The whole sass thing is not beginner friendly

  • @GameMasters825
    @GameMasters825 3 роки тому

    Stop todo apps my god, thousands of todos apps

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

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

    Java vs javascript
    Which is better??

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

      are you stupid?

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

      Car vs Carpet. Big difference.

    • @doroxfox6524
      @doroxfox6524 3 роки тому

      @@cience yes

    • @doroxfox6524
      @doroxfox6524 3 роки тому

      @@kevyyar oh really i do not knew that

    • @aammssaamm
      @aammssaamm 3 роки тому

      Depends on what you need to do.

  • @linus8976
    @linus8976 3 роки тому

    入れ墨怖い

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

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

    wasted half a day w/ this tut. because i use atom and can't link the compiled css the way he does w/ vscode
    plonk

  • @GameMasters825
    @GameMasters825 3 роки тому

    This guy like a rockstar not a dev, so weird

    • @jadijohnson2899
      @jadijohnson2899 3 роки тому

      Watch this video for javascript project ua-cam.com/video/-ZKwMlbyr48/v-deo.html

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

    1st dislike