I built a $5 chat app with Pocketbase & Svelte. Will it scale?

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

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

  • @Fireship
    @Fireship  2 года назад +255

    Here’s your $100 stimulus check, go break something (must be used in 60 days) www.linode.com/fireship

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

      will do.

    • @zedespook
      @zedespook 2 года назад +10

      I remember when I wanted to make a Linode server. I failed even registering to the website, and 5 support agents told me that I am indeed not a real human. I'll just stick with Supabase.

    • @zeroxd.cypher3899
      @zeroxd.cypher3899 2 года назад

      good looks

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

      @@zedespook DAMN BRO THATS HARSH

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

      I don't think that the site scaled ...

  • @ggeorgievdev
    @ggeorgievdev 2 года назад +878

    Hi, PocketBase author here.
    @fireship did a great job with the video and managed to present a lot of things (Linode, Svelte, PB) in a very compact and easy to understand format.
    After reading some of the comments, I'll leave just couple notes:
    1. At the moment of writing, the chat app seems to be using an older PocketBase v0.8.0 version. The latest v0.10+ releases come with split db pool and significant performance and memory improvements.
    2. The realtime connections can quickly exhaust the max open files limit and you may want to increase it accordingly to the expected concurrent load (from the systemd in the video is around ~4096).
    3. For those commenting that SQLite doesn't scale well - *it is PocketBase fault* that the chat app doesn't perform well on high concurrent load and further improvements will be done in the near future. For a single server setup, plain SQLite in WAL mode almost always will outperform other traditional databases.
    (ps. this is a second attempt to post the comment since the first one probably got flagged because of the github link).

    • @YuriG03042
      @YuriG03042 2 года назад +79

      Thanks for giving us PocketBase, it's very appreciated!

    • @Fireship
      @Fireship  2 года назад +217

      Thanks for the input! This has been an interesting experiment, PB was dealing with nearly 1M requests per hour earlier. I'll probably make a quick follow up on my second channel.

    • @NoobaLV
      @NoobaLV 2 года назад +34

      @@Fireship Please do! Would be interesting to see the stats

    • @Carlos-xz9zq
      @Carlos-xz9zq 2 года назад +19

      @@Fireship on the 5$ server?

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

      @@Carlos-xz9zqI want to know this too! 🤔

  • @andymc1110
    @andymc1110 2 года назад +31

    Was amazing how much traffic the demo app got. And it was fun to watch all the exploit attempts in real-time. Would love to see this turned into a series where we continue to strengthen, and stress test the app.

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

      Awesome idea! Because right now all beginners know how to start, but as we have seen it’s not production ready

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

    I watched this video so many times. It's a complete tutorial. From the front to the back. We've reached tutorial perfection. Thank you sir

  • @michaelaboah1322
    @michaelaboah1322 2 года назад +118

    Small svelte note that may save some trouble. At 12:35 Jeff is using the assignment “=“ operator. Svelte’s reactivity doesn’t work with state changes using methods. Hence array.push() and other methods won’t react. Use the es6 spread syntax as shown in 12:35.
    Another helpful Svelte tip, if you need an element to re-render based off a change in value check out the {#key} block.

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

      Thanks Michael, as a newbie coming from Python this is a bless! 🙌

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

      Is Svelte still being actively developed by 1 person? This is the biggest reason I've never tried it. A bus factor of 1 is no joke.

    • @michaelaboah1322
      @michaelaboah1322 2 года назад +8

      @@cubiq1 nope there is a sizable team and they are even under the wing of the same company that maintains React. Namely Vercel. Svelte is currently in good hands.

    • @SuperOmercohen
      @SuperOmercohen 2 года назад +12

      @@michaelaboah1322 Vercel also maintains Next.js, not React. A team in Meta (facebook) maintains React

  • @leviathan7477
    @leviathan7477 2 года назад +321

    scp is one of my favorite examples of early unix simplicity. It is basically just a script that opens an ssh connection and then pipes the data through and calls "cp" on the other side 😂

    • @yt-1337
      @yt-1337 2 года назад +7

      lol didn't know how it works but it is awesome, i always use scp when copying one or two files to my raspberry pi, never really used rsync except two or three times in a script

    • @bernardo-x5n
      @bernardo-x5n 2 года назад +10

      The openssh scp implementation actually uses sftp to copy the file.

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

      Calls “cp” wtf?

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

      @@mudhutonthemoon Yes, its called a program call. how do you not know?

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

      @@garethgan9519 I thought it was calling something more nefarious.

  • @khaledsanny4817
    @khaledsanny4817 2 года назад +110

    crazy !!! a complete production web app, fully stacked ... amazing FS ... I really like the real production approach...because we often dont have this in tutorials... thanks

    • @itsUnsmart
      @itsUnsmart 2 года назад +11

      Tbh this is more for simple MVPs to test out if something would work and wont scale for production loads, but MVPs are still very very useful so!

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

      This is not a production app ;)

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

    No way, NO WAYYY, I was building my web side project and going through different frameworks, i was considering svelte for frontend and i was not sure of a backend service so i searched and came across your pocketbase video, so my next step was obviously to search "svelte and pocketbase" AND GUESS WHAT, YOU UPLOAD A VIDEO ABOUT IT!????

  • @kalelsoffspring
    @kalelsoffspring 2 года назад +383

    As a dev who avoids nearly every third party library if I can just write it myself, it's pretty wild seeing how easy these are to use lol Maybe I should start using them.....

    • @chind0na
      @chind0na 2 года назад +5

      Appwrite ftw.

    • @bringbackwindowsphone
      @bringbackwindowsphone 2 года назад +63

      There's nothing wrong using maintained libraries/platforms which helps you develop faster and make more maintainable applications

    • @okie9025
      @okie9025 2 года назад +83

      I pray for the person who has to touch your code if everything you write is from scratch lol

    • @OwO-.
      @OwO-. 2 года назад +10

      i thought the same and still think a zero-dependency app is great but some tools like svelte are really fucking useful

    • @Jorge78712
      @Jorge78712 2 года назад +17

      Is common to meet developers who dislike using third-party libraries. I call them stubborn developers, for them it takes an eternity to finish a product.

  • @bunabyt3
    @bunabyt3 2 года назад +32

    As a web developer who pretty much exclusively uses vanilla HTML/CSS/JS for frontend and PHP/PostgreSQL for backend hosted on a local apache web server, this stuff is completely new to me, but it definitely seems like a much simpler way of creating web apps.

    • @iamvalenci4
      @iamvalenci4 Год назад +6

      the things you are learnig are the fundaments of this technology, so when you want to learn one of these technology, it will be easy for you.

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

      ​@@iamvalenci4 true

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

      why are you using Apache?

    • @ytbook9639
      @ytbook9639 26 дней назад

      youre stuck on the early 2000 or what

  • @OldKing11100
    @OldKing11100 2 года назад +64

    Pocketbase looks really cool. I always liked paradigms where the API is closer to the database where you can self host (don't tell Theo). If I wasn't firmly planted with FastAPI + Redis/PostgreSQL; I'd start all over with Pocketbase.

    • @hamm8934
      @hamm8934 2 года назад +14

      Ew Theo. Wish he wasn’t as toxic as he is because he’s got some interesting takes

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

      @@hamm8934 Theo is toxic? link please. Only saw him once and thought his takes were on point.

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

      @@hamm8934Be very suspicious of these "interesting" takes

  • @RS-90
    @RS-90 Год назад +2

    You make some complex things quite simple by making content concise to the point otherwise I need to go through whole documentation or big video. Great Work❤

  • @dreamisover9813
    @dreamisover9813 2 года назад +29

    This video has such a high value! I feel like learning the steps to write this individually would take days possibly if you'd do it yourself

  • @DarkVader781
    @DarkVader781 2 года назад +32

    As someone that started to code recently and varely understands vanilla Javascript, one quarter of my mind can follow what this guy is doing and the rest 3/4 is blown by the knowledge and makes me feel like a monkey eating dirt. Wonder if i'll ever be this good. Amazing channel and content!

    • @cody_code
      @cody_code 2 года назад +5

      You will be, just keep at it!

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

      Feeling is mutual 😅😅, I know django's sqlite and mongodb (Mern stack) related stuffs but still this content is like a bouncer for me 😛😛

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

      Don't set your bar this low, lmao
      I recommend sticking to pure programming languages and staying far away from all these bulky, buggy, and security-compromising libraries/plugins/etc. The chat he made is complete dogshit, I swear it's worse than the AJAX chatroom I made when I was 14

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

      ​@@weblurehow 🤡

  • @lucasj.pereira4912
    @lucasj.pereira4912 2 года назад +8

    I like how the hosted app is on fire right now! Literally...

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

    Question about security: At 11:11 you have the sendMessage function that submits the chat message and the user ID. Could someone not hijack this function (using Devtools) and change the user ID to that of another user (to impersonate a message from someone else)? Or does Pocketbase automatically have protection against this?

  • @0Smile0
    @0Smile0 2 года назад +42

    as of 15 minutes after the video was posted, the chat doesn't register emojis anymore, so i guess it didn't scale 🤣🤣

  • @ChrisPepper1989
    @ChrisPepper1989 2 года назад +9

    As a C# / Microsoft Stack developer, I do often default to "What can i put together quickly in Azure" and it is increasingly painless these days to set up "something quick" (Blazor + VSCode deploy is ace). However I'm increasingly tempted by baas. Just having authentication and a database out of the box is very tempting. And Blazor is nice but it has a lot of "magic" that svelte seems to not carry as extra weight....

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

      For all my c# projects I just use azure app service which is kinda like firebase for azure

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

      @@ioneocla6577 I also just use an app service but it's not quite firebase from what I can see?
      There is still a slightly more manual sql set up and authentication isn't quite out of the box either... Unless I'm overestimating what firebase does?
      I quite like the look of amplify, there are some nice tutorials for blazor on amplify and it comes with a lot of things in a nice package.

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

    10:30 pretty sure it doesn't render them more efficiently :) just updates them more efficiently in case if one of the messages gets deleted

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

    On a side note you are low key one of the funniest creators in this space 😂

  • @CottonInDerTube
    @CottonInDerTube 2 года назад +5

    9:59 cannot remember how its called, but you receive many data in JS, which can lead to leaks.
    Later you extend the user to contain more sensitive data
    and you loaded all this data to the collection, which every logged in user can collect =)
    _EDIT: except this is server side rendered ... but i dont know that yet._

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

      dose this being SSR protect the data tho

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

    Thanks for the video. Why do you await the call (9:50) in the mounted hook? That just blocks the page and the data has no dependencies, instead, a loading spinner with a certain treshold could be shown while the rest of the UI renders.

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

    Loving the Svelte and Pocketbase videos. Thanks a million!!

  • @tinmank
    @tinmank 2 года назад +15

    Recently I started to play with pocketbase too, only problem I had faced so far is, importing a dataset to the database.
    I guess there is no bulk insert.

    • @derzart
      @derzart 2 года назад +9

      The SQLite database file is under pb_data folder, you can open them up using tools like DataGrid or Navicat and do any importing and exporting you’d like.

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

      @@derzart but then pocketbase'll likely not recognize it since more likely than not it stores a bunch of metadata to recognize the schemas

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

      @@marusdod3685 i don't think so. Sqlite should store the schema itself

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

      @@derzart I've tried that, I don't know the ID format, no description in the documentation about it, also some other, default columns needs to be populated along with it.

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

    One of my favorites videos of yours

  • @dr.d3600
    @dr.d3600 2 года назад +1

    Hahaha the whole video is about svelte is awesome 😎😎😎 totally agree with Jeff😎😎😎

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

    This is what i started with last night and here comes the God’s video to save me a week. I have not tried it but looking the video i have a question can we use the same pocketbase installation for several projects. Is there a concept of schemas to separate the data?

  • @hallelshmueli
    @hallelshmueli 2 года назад +25

    Crazy how I just started to built a Pocketbase and Svelte app and this releases

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

      Me too, was just starting a project with this stack as well

    • @unorthodox1430
      @unorthodox1430 2 года назад +11

      he knows, he always does

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

    Love this channel. This project showcase actually made me try out linode.

  • @Arciiix
    @Arciiix 2 года назад +21

    Do you prefer Supabase or Pocketbase? Or maybe is creating a traditional back-end with Node better?

    • @realmimak
      @realmimak 2 года назад +10

      Pocketbase is sqlite-based while supabase is enhanced postgres with a layer of backend utilities like real time/graphql APIs and row-level security. While pocketbase comes in handy for small-to-mid projects, you wouldn't reasonably choose it over supabase if you see a db scaling scenario possibility

  • @ShafterPlay
    @ShafterPlay 2 года назад +57

    I'm actually really curious to know how you made the reactions system. Last time I tried Pocketbase you could't make sure a user had a "reaction" record for a "message" already to prevent people from reacting to the same message multiple times.

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

      you could create a unique index on user and reaction , this needs access to the pb_data/data.db

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

      The way I would do it is to have a new table for reactions that has the userId and postId. If the user tries to react to something it would check to make sure that combination did not already exist.

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

      @@hakuna_matata_hakuna Yep, but that's not really ideal, right?

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

      @@valtism That's what I'm describing, I don't think you can currently do this with Pocketbase :/

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

      It would be something like a many-to-many relationship in a RDBMS. One entry relates a post, another one your user, and a third for a reaction type, so there can't be more than 1 entry in that table with the same 3 values at once

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

    Super amazing work dude 🙂 !!!

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

    Nice tutorial pls create more on pocket base and svelte..

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

    you the best, we want more videos about the Spock patern

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

    There doesnt seem to be a way to filter the realtime subscriptions, its either everything or by record ID so this kinda breaks down if you needed to implement something like chatrooms. Or at the very least your data model would have to change...

  • @zookaroo2132
    @zookaroo2132 2 года назад +5

    Damn the chat gets bombed immediately once the video released

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

    Two space indentation? Literally unwatchable. :D Great video, I might use Pocketbase for some side projects after seeing how easy it is to get things up and running.

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

    Just checked out the live app..All the messages are pooped on and the send button doesn't work 🙃

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

    Excelente, me encanto la forma y toda la informacion, increible, muy bueno 🔥🔥🔥🔥🔥🔥
    Excelente, me encanto la forma y toda la informacion, increible, muy bueno 🔥🔥🔥🔥🔥🔥
    Excelente, me encanto la forma y toda la informacion, increible, muy bueno 🔥🔥🔥🔥🔥🔥

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

    Does the pocketbase JS lib do optimistic updates or does the app roundtrip before showing your submitted chat message?

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

    Another great video! so one thing I'm confused about, use svelte or sveltekit on the front end? 😕Also, the "spock stack" needs to stick!

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

    10:31 the bass drop. Damn.

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

    - fireship built a new app
    - me : Speed of the vid == 0.5

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

    The video has been up for 20 minutes and the chat is filled with three things
    1. "What is going on"
    2. "Sex"
    3. "fart"
    I don't think your auto-moderation thing is working

  • @zalonics5177
    @zalonics5177 2 года назад +8

    This is awesome. Pocketbase is the gigachad of bases. I'm glad I learned about Linode too! I was using Fly

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

      Make the effort to learn AWS and you will never need any other service ever again for anything

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

    i would love to click thousand "i like", dude you're awesome, a lighthouse for newbies

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

    Hold on, THAT LAST CLIP!

  • @94sl
    @94sl 2 года назад +2

    Stuck on loading when creating a user. Well that's that about scaling... Or?

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

    Great little tutorial. You should do more PocketBase stuff.
    But your Linode link is dead. Seems they've been acquired by Akamai.
    Do you still use this now that it's with Akamai or can you recommend another Linode type host provider?

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

    What happened to the guy at the end who fell off a cliff?

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

    wait your local pc runs debian? are you usin' chromeos?

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

    Great tutorial but damn what happened to the the rock climber

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

    so, I tested the app, and the answer is, no, it doesn't scale that well :D I had to use devtools to make sure if my message was sent. Still, great video, cool tech

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

    cant you use kubernetes inside of linode to scale horizontally?

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

    Does Svelte has good auto complete in VS code? Because that syntax looks weird

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

      Yes it does. Especially if you use SvelteKit

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

      @@isdeonf Especially^2 if you use Copilot

  • @Twingamerdudes
    @Twingamerdudes 2 года назад +48

    $5 dollars can’t protect you from your discord chat lol.
    Edit: some people are asking what happened so here’s what happened. Fireship pinged everyone and the servers crashed.

  • @MrTien-yq6cj
    @MrTien-yq6cj 2 года назад +2

    More video about svelte?

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

    Saw this coming from your love of pocketbase and svelte... so gud! Kudos!

  • @jesper.ordrup
    @jesper.ordrup 2 года назад

    Accessing dB client side ?
    11:14 creating a chat message and specifying userid? Seems like I can pretend to be someone else?

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

    How do you create an elegant m2m relationship?

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

    I enjoyed interacting with the app, but i don't think it is very responsive. I would love to see it remade using the T3 stack. This app is the perfect benchmark for it

  • @cruz.aljon1990
    @cruz.aljon1990 Год назад

    Great video! I have a question. Can you use the linode's volume you created to be the source of data of multiple pocketbase instance? Thanks

  • @SrCapelinha
    @SrCapelinha 2 года назад +52

    after what happened on the first day of discord, leaving a chat app open like that, we know how it will end hahahaha

    • @SrCapelinha
      @SrCapelinha 2 года назад +16

      ClientResponseError 403: Only admins can perform this action.
      didn't last 10 minutes

    • @Mkrabs
      @Mkrabs 2 года назад +5

      You can login, but can't send messages.

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

    Yow this is 🔥🔥🔥, It literally enlighten me how backend works... Dang as an aspiring developer this is a big help. Thank you 😎😎😎

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

    Just finished building my portfolio website in Svelte.... This should come in handy this weekend 😊

  • @rick-kv1gl
    @rick-kv1gl 2 года назад +18

    so it compiles to exe and u can run it on debian, amazing.

    • @hglbrg
      @hglbrg 2 года назад +8

      no it compiles to an executable, not a .exe which is a windows type file

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

      Just use wine bro

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

      Yes I thought that was potentially misleading too lol

    • @rick-kv1gl
      @rick-kv1gl 2 года назад

      @@anguswett proton joint the chat.

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

      @@hglbrg r/whoosh

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

    Bro this is super awesome and fun . Thank you for the tutorial

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

    would i be able to say "I use arch btw" if i use something based on arch, like manjaro?

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

    Love the videos! More SSR stuff please 😍

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

    Why not use onMount's optional return to unsubscribe instead of using onDestroy?

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

    "...With flat predictable pricing that won't cause collateral damage" now that's one hell of a pun

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

      Is that even a pun?

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

    Fireship single-handedly pushing more dev into svelte. NGL, svelte is the best thing in the world of web framework

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

    I've seen you used some kind of visualization tool to present backend. What's that?

  • @M-ABDULLAH-AZIZ
    @M-ABDULLAH-AZIZ Год назад

    was wondering if it could also be utilized to share files in the chat?

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

    Please fireahip your tutorial is awesome, thanks for the new update,

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

    I followed this guide and it fails to create the record at the signup part.. not sure whats wrong here

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

    What is the source of the climb video ? 😁

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

    What did use to style the current website?

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

    What a lovely tutorial !! Fireship is a 10

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

    how the fuck does this guy make things look so easy

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

    That Lil Wayne throwing money is my wallpaper🥰

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

    10:40 theres no need to use the ugly js string interpolation. Any js expression that is in between brackets is automatically injected by svelte. Really beautiful, i hate js string interpolation, that's what noped me out of vue lmao.

    • @shawnlee6775
      @shawnlee6775 2 года назад +5

      12:24 again no need to use the onDestroy fn and storing the unsubscribre fn. You can return a fn in the onMount and it will run when the component is destroyed. You can just reduce all the boilerplate by returning the pocketbase subscription and thats it. Svelte is 🔥

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

      What string interpolation in Vue? 🤷‍♂️

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

    Awesome but as a backend dev I always like to have more control over performance and relational data is always something to keep an eye on. In frameworks like Laravel you can use Eloquent or Query Builder but all that does is to organize a nice little query for you to use. In some cases I need use raw queries to improve performance (for millions of records that relate to everything) and I don't see that kind of backend scaling to those levels. I might be wrong and Svelte is awesome, thanks Fireship for clearing the path.

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

    Currently using sveltkit to build a website and I am loving it

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

    This app is constantly lagging and hanging. Why i don't know.

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

    if i instead use my pi zero where do i find the ip adress from wich i can access pocketbase???

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

    please make more videos about svelte

  • @benasmockus6988
    @benasmockus6988 2 года назад +11

    Damn the ending broke my heart :'(

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

      Same, hope they're ok 😩

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

      @@otek_ they are, thankfully. ruclips.net/video/66KF_5JWpdA/видео.html

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

    We need a "Scala in 100 seconds" video

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

    Please we need a complete tutorial for the app

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

    it wont login bro ! stuck at "Loading..." msg :(

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

    I hope the guy at the end didn't die :(

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

    Why is Spock in Thimbnail? I've been thinking about it for while but have no clue 🤔

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

    Yeah why would I want linode when I have to pay up the wazoo to scale. Is TidalScale becoming cheaper or something?

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

    I believe I heard your little one around 2:08 😄

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

    As a climber, that climber fall at the end was too much
    GOOD VIDEO OTHERWISE THANKS

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

      Yeah that gave me sweaty palms. If that guy lived, he broke an awful lot of bones. I've never understood the humor in watching people get injured, especially when it's life-ruining. Just leaves me feeling kind of sick.

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

    Wondering something but with that setup isnt it easy for a malicious user to extract the full list of users and their data?

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

    For someone looking to follow this, remember, there're no $inc in pocketbase.

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

    Don't put your DB on a volume. The disk write speed is limited and your CPU will be crushed.

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

      The real tutorial is in the comments

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

      What do you mean "on volume"?

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

      @@carldrogo9492 You can mount an external SSD on most cloud providers (they call it a volume). You can store your database on this. It seems like a good idea at first because it's cheap and usually much bigger than your main drive. The problem is when you get enough writes, your CPUs will shoot up to 100% being bottlenecked by the slower I/O of the volume. Basically, it doesn't scale.

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

    someone rebuild it with a scalable backend 🙂. Maybe a follow up video on where it fell down, how many simultaneous users...100? How many reqs per second? 500?