- Видео 28
- Просмотров 17 266
Practical Coder
Добавлен 4 фев 2023
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
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
Please speak a couple of inches away from the mic
Thanks for this goat video ! Will follow it .
Thank you!
nice , hard to find tutos for this stack
Glad you think so!
Yeson
reallly GOAT !!!!!!!!!!!!!!!
Sweet
Nice, where can I find the code?
do you have svelte 5 content? 😬
Not yet but will for sure make some when it releases! Any project ideas you want to see? 🙂
@@practicalcoder Kahoot in Svelte 5 & Sveltekit and some DB? (Supa, Turso, Firebase postgres?)
@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.
First thank you!!!! Second , I will create a much concised walkthrough of your tutorial based on your videos. This is awe some
Glad it was helpful!
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
Can you please share the repo i am getting some errors.
@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.
hey man.. you stopped uploading. your content is great, hope you come back soon!
I think this is out of date cause there is a dialog tag
This is a super helpful video! Thank you for making it!
Heyho, enjoy the series! Do you plan on adding user auth / db storage to it?
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?
I figured out the second bit, I hadn't bound visible correctly in the EditTaskModal element!
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.
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.
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.
whats your VScode theme?
It's called "Gruvbox Dark Medium" :)
welcome back man
Thank you for still sticking with me, you are a real OG! :D
please continue this series
I will! Currently thinking about a shorter video format that should be more comprehensive! Thank you for commenting :)
BRO YOU'RE GOLD ❤
You are the real OG! Thank you for being so supportive! ❤
Cool tutorial. Flowbite looks interesting, maybe I will try it for a while
Thanks a lot for watching 😄 Yeah, component libraries can be very helpful in creating a slick and consistent UI!
how i can get the source code ?
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.
Can you please share source code. Thanks
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.
excellent tutorial
Thankyou!
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?
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.
@@practicalcoder Thanks so much for taking the time to reply! I checked out the video and that works perfectly, thank you!
thanks maaaaan! i learned alot!!!!
Thanks a lot for watching, motivates me a lot! 😄
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 :)
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!
like the progression, start small grow bigger
Absolutely! Slow and steady wins the race :)