Practical Coder
Practical Coder
  • Видео 28
  • Просмотров 17 266
Storing data locally in your JS app with IndexedDB
Welcome back! Today we look at IndexedDB, a built-in API in our browsers to persist large amounts of data with quick lookup times! We explore the vanilla IndexedDB and also look at two wrappers, idb and Dexie.js.
Join the Discord: discord.gg/qNMmZUZPp3
Icons by Freepik - Flaticon
Constellations by Purrple Cat | purrplecat.com/
Music promoted by www.chosic.com/free-music/all/
Creative Commons CC BY-SA 3.0
creativecommons.org/licenses/...
Timestamps:
00:00 - Intro
00:30 - Why not localStorage?
01:50 - Time for IndexedDB
02:26 - Opening the database
03:11 - Upgrades
04:00 - Adding data
07:00 - Indexing
08:10 - Cursors
09:41 - Wrappers
10:10 - idb
11:04 - Dexie.js
Просмотров: 560

Видео

Dynamic JSON decoding in Go - mapstructure
Просмотров 61914 дней назад
Today we take a look at mapstructure, a neat library for decoding dynamic data structures in an efficient way. It has a lot of cool features that we discover in this video. Mapstructure: github.com/mitchellh/mapstructure Join the Discord: discord.gg/qNMmZUZPp3 Constellations by Purrple Cat | purrplecat.com/ Music promoted by www.chosic.com/free-music/all/ Creative Commons CC BY-SA 3.0 creativec...
Kahoot Quiz Clone in Svelte & Go [FULL SERIES]
Просмотров 1,4 тыс.14 дней назад
Welcome to a full series in Golang and Svelte where we create a clone of the beloved Kahoot Quiz Platform. We discover topics like REST APIs and real-time communication with WebSockets and create a beautiful UI with Tailwind CSS. Source code: github.com/p0lloc/quiz-platform (Add a star 🌟) Join the Discord: discord.gg/qNMmZUZPp3 I am not associated with or endorsed by Svelte in any means. melt a...
Real-World Todo App in Svelte #23 - Tweens
Просмотров 53710 месяцев назад
Welcome back to the channel! In this video we take a look at tweens in Svelte to level up the user experience in our todo application. Note: I'm trying a more concise video format with focus on theory first and then practical implementation, let me know if you like it! Discord: discord.com/invite/qNMmZUZPp3 I am not associated with or endorsed by Svelte in any means. Purple Dream by Ghostrifter...
Create A Real-World Todo Application In Svelte #22 - Custom task columns/lists (part 2)
Просмотров 51711 месяцев назад
Welcome back to the channel! In this video we leave the hard-coded columns and let the user create and name their own columns. We also add drag and drop so that the columns can be reordered. This video is split into two parts to keep it more concise. Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can share our projects with each other a...
Create A Real-World Todo Application In Svelte #21 - Custom task columns/lists (part 1)
Просмотров 22411 месяцев назад
Welcome back to the channel! In this video we leave the hard-coded columns and let the user create and name their own columns. We also add drag and drop so that the columns can be reordered. This video is split into two parts to keep it more concise. Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can share our projects with each other a...
Create A Real-World Todo Application In Svelte #20 - Accessibility, $$props
Просмотров 31111 месяцев назад
Welcome back to the channel! In this video we take a very surface level look at web accessibility. This helps making the app accessible to a wider range of people and generally increases page ranking in search engines such as Google. We also try out the special $$props syntax to fetch component props dynamically. Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to bui...
Create A Real-World Todo Application In Svelte #19 - Custom right-click menus & stores
Просмотров 39711 месяцев назад
Welcome back to the channel! In this video we take a look at implementing our own context menu (right-click menu) to let the user delete/rename boards from the sidebar. We do this through the help of Svelte stores which I surprisingly haven't shown on this channel before! Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can share our proj...
Create A Real-World Todo Application In Svelte #18 - Deadlines & drag n drop subtasks
Просмотров 998Год назад
Welcome back to the channel! In this video we implement deadlines so that the user can keep track of when their tasks are due. We also quickly add the ability to drag and drop subtasks! Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can share our projects with each other and learn together! I am not associated with or endorsed by Svelte...
Create A Real-World Todo Application In Svelte #17 - Subtasks
Просмотров 307Год назад
Welcome back to the channel! In this video we take a look at implementing subtasks underneath each task. At the end we also do some quick refactoring to keep the code clean and maintainable! Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can share our projects with each other and learn together! I am not associated with or endorsed by S...
Create A Real-World Todo Application In Svelte #16 - Deleting boards & remembering user's last board
Просмотров 207Год назад
Welcome back to the channel! In this short video we add the ability to delete boards. We also let the application remember which board the user had opened last by saving it to localStorage. Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can share our projects with each other and learn together! I am not associated with or endorsed by Sv...
Create A Real-World Todo Application In Svelte #15 - Responsive sidebar & renaming boards
Просмотров 459Год назад
Welcome back to the channel! In this video we take a look at making our sidebar responsive. This is done by adding a toggle button which will open the sidebar on request. We also quickly add the ability for the user to rename their boards with the help of our beloved contenteditable. Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can sh...
Create A Real-World Todo Application In Svelte #14 - Creating new boards / sidebar
Просмотров 261Год назад
Welcome back to the channel! In this video we add a cool sidebar where the user can switch between their boards and also create new ones! Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where we can share our projects with each other and learn together! I am not associated with or endorsed by Svelte in any means. Music: Where The Waves Take Us by...
Create A Real-World Todo Application In Svelte #13 - Multiple different boards & refactoring
Просмотров 215Год назад
Welcome back to the channel! We start off today's video with some well-needed refactoring / clean up of the code. Then we add the amazing ability to switch between multiple boards with completely different tasks inside. We refresh a lot of our knowledge about Svelte reactivity in this episode! Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm trying to build a community where...
Real-World Todo App In Svelte #12 - Responsive layout with Tailwind CSS
Просмотров 263Год назад
Welcome back to the channel! In this video we make a first attempt at a responsive layout for our todo application. We use Tailwind CSS responsive design classes to change the layout and show a checkbox whenever we are on a phone. We also refactor our code a little bit and add the required functionality for the new checkbox! Discord: discord.com/invite/qNMmZUZPp3 Feel free to subscribe as I'm t...
Real-World Todo App In Svelte #11 - Drag & drop part 2
Просмотров 358Год назад
Real-World Todo App In Svelte #11 - Drag & drop part 2
Real-World Todo App In Svelte #10 - Drag & drop with svelte-dnd-action
Просмотров 1,2 тыс.Год назад
Real-World Todo App In Svelte #10 - Drag & drop with svelte-dnd-action
Real-World Todo App In Svelte #9 - Add/edit tags, bind:this, random colors
Просмотров 231Год назад
Real-World Todo App In Svelte #9 - Add/edit tags, bind:this, random colors
Real-World Todo App In Svelte #8 - Confirmation modal, task description, tags
Просмотров 195Год назад
Real-World Todo App In Svelte #8 - Confirmation modal, task description, tags
Real-World Todo App In Svelte - Iconify icons, extending Tailwind classes
Просмотров 393Год назад
Real-World Todo App In Svelte - Iconify icons, extending Tailwind classes
Real-World Todo App In Svelte #6 - Separating completed tasks
Просмотров 252Год назад
Real-World Todo App In Svelte #6 - Separating completed tasks
Real-World Todo App In Svelte #5 - Components with Tailwind CSS and Flowbite
Просмотров 1,4 тыс.Год назад
Real-World Todo App In Svelte #5 - Components with Tailwind CSS and Flowbite
Real-World Todo App In Svelte #4 - Refactoring & trying out Tailwind CSS
Просмотров 365Год назад
Real-World Todo App In Svelte #4 - Refactoring & trying out Tailwind CSS
Real-World Todo App In Svelte #3 - Saving tasks to localStorage or download as file
Просмотров 485Год назад
Real-World Todo App In Svelte #3 - Saving tasks to localStorage or download as file
Real-World Todo App In Svelte #2 - Create/edit tasks, modals, slots, best practices
Просмотров 973Год назад
Real-World Todo App In Svelte #2 - Create/edit tasks, modals, slots, best practices
Real-World Todo App In Svelte #1 - Initial structure, #each, bind directive, events
Просмотров 1,9 тыс.Год назад
Real-World Todo App In Svelte #1 - Initial structure, #each, bind directive, events
Real-World Todo App In Svelte #0 - Background & Installation
Просмотров 2,1 тыс.Год назад
Real-World Todo App In Svelte #0 - Background & Installation
Welcome To My Channel - Introduction
Просмотров 190Год назад
Welcome To My Channel - Introduction

Комментарии

  • @thiccboi6211
    @thiccboi6211 3 дня назад

    Please speak a couple of inches away from the mic

  • @gfddgitgud3848
    @gfddgitgud3848 4 дня назад

    Thanks for this goat video ! Will follow it .

  • @datadriveAshura
    @datadriveAshura 8 дней назад

    nice , hard to find tutos for this stack

  • @karxem
    @karxem 14 дней назад

    Yeson

  • @mmmcorp8505
    @mmmcorp8505 16 дней назад

    reallly GOAT !!!!!!!!!!!!!!!

  • @prashlovessamosa
    @prashlovessamosa 16 дней назад

    Sweet

  • @bagwaniali9514
    @bagwaniali9514 17 дней назад

    Nice, where can I find the code?

  • @riigel
    @riigel 17 дней назад

    do you have svelte 5 content? 😬

    • @practicalcoder
      @practicalcoder 17 дней назад

      Not yet but will for sure make some when it releases! Any project ideas you want to see? 🙂

    • @kirso
      @kirso 16 дней назад

      @@practicalcoder Kahoot in Svelte 5 & Sveltekit and some DB? (Supa, Turso, Firebase postgres?)

    • @moonchildeverlasting9904
      @moonchildeverlasting9904 10 дней назад

      @practicalcoder maybe add an branch using svelte5 , then with DB ? the idea is probably more to be sure of how to code something, then how to edit /refactor or add something else.

  • @gfddgitgud3848
    @gfddgitgud3848 2 месяца назад

    First thank you!!!! Second , I will create a much concised walkthrough of your tutorial based on your videos. This is awe some

  • @szigyartom
    @szigyartom 3 месяца назад

    I came here to see if the examples look the same for others after copy-pasting it. I am glad to see that it's not just me, who suffers from strange css issues :D

  • @prashlovessamosa
    @prashlovessamosa 4 месяца назад

    Can you please share the repo i am getting some errors.

  • @nickthiru
    @nickthiru 5 месяцев назад

    @24:54 😆nice reaction. feels great when we stumble upon something and realize how much more easier the development life can sometimes be, right? thanks for a very useful tutorial.

  • @riigel
    @riigel 6 месяцев назад

    hey man.. you stopped uploading. your content is great, hope you come back soon!

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

    I think this is out of date cause there is a dialog tag

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

    This is a super helpful video! Thank you for making it!

  • @TOM-cd1zb
    @TOM-cd1zb 9 месяцев назад

    Heyho, enjoy the series! Do you plan on adding user auth / db storage to it?

  • @stwaldo
    @stwaldo 10 месяцев назад

    Hi! I noticed a couple bits of weirdness on my follow-along project: applying the custom class in the modal is getting overwritten by the .modal class, so I had to delete the `width` property from there. The other thing, if I open the edit modal, close it, then open the delete modal, the edit modal opens up underneath the delete modal. Any idea what conked up there?

    • @stwaldo
      @stwaldo 10 месяцев назад

      I figured out the second bit, I hadn't bound visible correctly in the EditTaskModal element!

    • @practicalcoder
      @practicalcoder 10 месяцев назад

      Hey! Are you applying the customClass to the inner div, the one with .modal class? There could also be some sort of CSS ordering issue at play. Another alternative would be to create fixed sizes for the modal instead of a generic "customClass" prop. For the EditTaskModal you are completely right, and that's my fault! I must have noticed and fixed this between recordings and never mentioned it. The issue is due to two-way data binding where the modal sets visible to false as it closes, but that change is never propagated (unless bind is used) to the parent component, App.svelte in this case. It can lead to some very strange side effects like those that you describe, when Svelte realises that the value actually had changed.

  • @stwaldo
    @stwaldo 10 месяцев назад

    Really appreciate this project walk through, it's been super helpful for me learning Svelte 🙂. One thing I noticed, and maybe something updated with TS, but VSCode complained that I couldn't perform `b.completed - a.completed` because it wasn't a number or `any`. Casting the boolean to Number cleared it. Not sure if that's peculiar to me somehow.

    • @practicalcoder
      @practicalcoder 10 месяцев назад

      Thank you for watching 😄! That's completely true, I abused JavaScript's leniency to coerce the boolean to a number "magically". The sort function like you discovered actually wants a number, as MDN states it: "The return value should be a number whose sign indicates the relative order of the two elements: negative if a is less than b, positive if a is greater than b, and zero if they are equal". I suppose my TypeScript configuration isn't strict enough to catch such issues, which is more alarming than comforting 😶. I should probably have used a ternary to convert the boolean or Number(a.completed) which would also return the right type.

  • @riigel
    @riigel 10 месяцев назад

    whats your VScode theme?

    • @practicalcoder
      @practicalcoder 10 месяцев назад

      It's called "Gruvbox Dark Medium" :)

  • @riigel
    @riigel 10 месяцев назад

    welcome back man

    • @practicalcoder
      @practicalcoder 10 месяцев назад

      Thank you for still sticking with me, you are a real OG! :D

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

    please continue this series

    • @practicalcoder
      @practicalcoder 10 месяцев назад

      I will! Currently thinking about a shorter video format that should be more comprehensive! Thank you for commenting :)

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

    BRO YOU'RE GOLD ❤

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

      You are the real OG! Thank you for being so supportive! ❤

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

    Cool tutorial. Flowbite looks interesting, maybe I will try it for a while

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

      Thanks a lot for watching 😄 Yeah, component libraries can be very helpful in creating a slick and consistent UI!

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

    how i can get the source code ?

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

      Hey! I definitely recommend writing all code yourself but I get that having the source code can be a good reference. I will do a video on Git soon and start uploading the code to GitHub.

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

    Can you please share source code. Thanks

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

      Hey! I definitely recommend writing all code yourself but I get that having the source code can be a good reference. I will do a video on Git soon and start uploading the code to GitHub.

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

    excellent tutorial

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

    Thankyou!

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

    I followed this video through and for me the modal open/close functionality doesn't work correctly. I can only click the 'edit' button once. If I try to click it again, the modal doesn't open. I see you refresh throughout - is this addressed in a later video, or have I coded something incorrectly?

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

      You are absolutely correct! I'm certain this has to do with two-way data binding where "visible" and "data" is modified inside the modal component when it closes, but that change is never propagated to the parent component. The parent component App.svelte doesn't have the new values which makes it permanently hidden just like you describe. It seems I noticed this after publishing the video and fixed it, but never told you guys about it. If you watch the beginning of episode #3 you can see I have appended bind: before both visible={editTaskModalVisible} and data={editTaskModalData} to bind the variables in both directions. Super sorry for the confusion! I go a bit more in-depth on two-way data binding later in the series.

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

      @@practicalcoder Thanks so much for taking the time to reply! I checked out the video and that works perfectly, thank you!

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

    thanks maaaaan! i learned alot!!!!

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

      Thanks a lot for watching, motivates me a lot! 😄

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

    I'm excited to get watching! I just decided to make something very similar as a personal project in Svelte which is totally new to me. Looking forward to getting some hints and tips :)

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

      That's awesome, I'm sure you will love Svelte :D Feel free to comment if you have any additional questions after watching the videos!

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

    like the progression, start small grow bigger

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

      Absolutely! Slow and steady wins the race :)