Payload: The Complete Backend for NextJS

Поділитися
Вставка
  • Опубліковано 22 сер 2024

КОМЕНТАРІ • 79

  • @juicer_777
    @juicer_777 Місяць тому +44

    Payload CMS is such a great option. They've introduced Postgres support meaning you can self-host with a provider like Supabase.

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

      You can also use MongoDB and self-host!

  • @saidakhrarov5322
    @saidakhrarov5322 Місяць тому +24

    I've fallen in love with PayloadCMS. You just feel powerful. Imagine a CMS that gives you full control over your models, auth, fetching, caching, admin, etc... I haven't seen this much utility since learning Django years ago. It's quickly become one of my go-to's.

  • @theklr
    @theklr Місяць тому +18

    Glad to see Payload getting some love

  • @bioburden
    @bioburden Місяць тому +3

    Been waiting for v3 of Payload for quite a while - glad its finally out, the team there are killing it

  • @phantom7132
    @phantom7132 Місяць тому +7

    This kind of sponsorship is harmonious 🙂

  • @AnthonyCandaele
    @AnthonyCandaele Місяць тому +3

    PayloadCMS is awesome, can't wait to build my first project with it. In the meantime I would love to see more tutorials like this on PayloadCMS.

  • @jeffreyjdesir
    @jeffreyjdesir Місяць тому +22

    All this for free and os??? damn is it Christmas already?

  • @dinckelman
    @dinckelman Місяць тому +10

    I've started using Payload myself a few weeks ago, and while the 3.0 beta has been way better of an experience than 2.x, the amount of bugs from being built on top of a pre-alpha Next 15 + React 19 version is quite a problem

    • @JamesMikrut
      @JamesMikrut Місяць тому +6

      I fully agree - we've been moving quick for sure but it's starting to get more stable! there is a light at the end of the tunnel! we've also been working closely with the Next.js team to make sure that we are in a good spot for Next 15 and React 19. Will be releasing stable 3.0 alongside of those stable versions

    • @basketballlife5632
      @basketballlife5632 11 днів тому

      @@JamesMikrutsounds like music to my ears

  • @cnikolov
    @cnikolov Місяць тому +4

    The content is spot on as always, thanks for taking the video ❤🎉

  • @realThinkingPoker
    @realThinkingPoker Місяць тому +2

    It’s really good. Using 3.0bate now. Can’t wait for the release of 3.0.
    It just works. So much more easier to use than all the other headless CMSs.

  • @yassinebouchoucha
    @yassinebouchoucha Місяць тому +2

    I was thinking between Directus and NocoDB for my current project ! I will give Payload a try !

  • @javayhu
    @javayhu Місяць тому +2

    Thanks Jack❤
    learned a lot from this video 😄

  • @goodtimeswerehad
    @goodtimeswerehad 25 днів тому +1

    Such a great video Jack, really appreciate it.

  • @thezeppo
    @thezeppo 2 дні тому +1

    Unrelated to much of anything - there was a point you were deleting a bunch of imports - you can remove all unused imports with Alt + Shift + O, I only realised this was a thing the other day :)

  • @charliesta.abc123
    @charliesta.abc123 Місяць тому +3

    This looks good, should come handy in a project soon

  • @wealthassistant
    @wealthassistant Місяць тому +5

    Using it on a project right now and loving it!

  • @carlobaumgartner7511
    @carlobaumgartner7511 Місяць тому +3

    the commmand for the migration is not working @ 4:47

  • @basketballlife5632
    @basketballlife5632 11 днів тому

    God, using payloadcms v3 beta with other betas like react 19 and nextjs15 is literally the best experience I could ever ask for, nevertheless, I fought with bugs day and night till I was able to deploy pheew, which is understandable as they are beta, but I can’t wait for stable release.. still enjoying the beta

  • @basketballlife5632
    @basketballlife5632 11 днів тому +1

    Using vercel blob is a great option however using the same way as you’ve taught has a limitation of less than 4.5mb uploads which revolves around the use of server uploads I.e if you are uploading from payload directly, media files should be less than 4.5mb. But there’s a workaround. In vercel blob docs, it says we can opt to using client upload rather than server upload which has a less strict limit, But unfortunately for me, I have tried to implement it but it has failed to work. So I was wondering if you could address this on a video or personally please, I really need a solution… Also, even while using the sever upload, and when I upload a media of 4.5mb or less, it is successful, but it fails to reflect in my page where I’m fetching the uploads in production not until I redeploy again.. please your Help is needed. Thanks

  • @AddictedToSKA
    @AddictedToSKA 29 днів тому +1

    Great tutorial, thanks!

  • @gavinland8486
    @gavinland8486 Місяць тому +2

    Hey Jack, why create the separate API route to searchMovies, instead of just calling the searchMovies function directly in your code? Why the extra step?

    • @jherr
      @jherr  Місяць тому +2

      You could do that, but a lot of folks stress out about calling a server action that is a query and not an action. So I decided to avoid that controversy and go for an API endpoint. FWIW, server actions are POST requests, so they aren't cached normally.

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

    Payload looks nice. But I love sanity as a content management system.

  • @somewonderfulguy
    @somewonderfulguy Місяць тому +3

    Forgive for a dumb question as I'm quite inexperienced in back-end, but should I commit migration files?

    • @wealthassistant
      @wealthassistant Місяць тому +3

      Yes.

    • @pisitch1
      @pisitch1 Місяць тому +1

      Yep. If you have multiple builds that may not go to all the environments, committing the migration files (say by build) is going to be critical. When you run payload migration command, it will automatically check against the target DB which migrations are not executed yet and only apply those. Really helps with DB migration automation as part of the pipeline. 👍👍

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

      during development, I'd recommend you always only keep one migration file per version release. Makes things a lot easier.

    • @Pete133
      @Pete133 Місяць тому +3

      Also, for anyone just learning payload, you don’t have to do the migrations manually. You can just let the dev server automatically create the tables.

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

    I use Directus though. It is actually because of timing. At the start, they never had PostgreSQL

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

    Awesome walkthrough, Jack! One quick question I have, is it not possible to pass the already loaded data to the server action instead of doing another request with the movie ID? I mean data is already in the page right? In case I didn’t miss something around it.
    Thanks!

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

      I wouldn't. The data on the client could be out of date with what is on the server. Plus these server data fetches are extremely fast.

  • @thomaspavelka7335
    @thomaspavelka7335 27 днів тому +1

    Would you use MongoDB or Postgres as database and why?

  • @rodrigorb2630
    @rodrigorb2630 Місяць тому +2

    Are there any CMS options that offer elastic/semantic/vector search out of the box?

    • @jherr
      @jherr  Місяць тому +1

      Great question! Not that I know of, but I haven't looked. What I can say is that Postgres (and probably Neon) offer a vector extension and a field type for that along with HNSW indexing. And since Payload offers hooks you could easily add embedding creation as a hook with insertion into the vector. Alternatively, if you don't want the user waiting around you could post an event to Inngest and let it do the work on the backend to get the embedding and add it to the record.

    • @nicolaslair42
      @nicolaslair42 Місяць тому +1

      Mongo Atlas Search is another option is using Mongo with Payload

  • @somewonderfulguy
    @somewonderfulguy Місяць тому +1

    Hi Jack, you mentioned that it works on top of app router. Will it work with page router? I'm asking because module federation plugin made by Zack Jackson does not support app router and is not going too...

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

      Use payload v2

    • @alessiogr
      @alessiogr Місяць тому +1

      Absolutely! Though if you want to host payload in the same app, you'll need to use the app router. If you want to use the page router, you can host payload separately - just like any other cms - and still use payload v3.

  • @cariyaputta
    @cariyaputta Місяць тому +1

    No SQLite support atm. Sadge.

  • @kyawzayannaing8007
    @kyawzayannaing8007 20 днів тому

    I love your video. But for me when I deployed on payloadcms it is extremely slow I don’t know. Could it be because of vercel-postgres and vercel-bolb region?

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

    If I'm self-hosting this, what should I be considering RE postgres and security?

  •  Місяць тому

    Hi ! Thanks for your video, this is great content :) If one wants to deploy this project to Vercel, he would then need a host for the database and the blobstore for the medias ? Following your video I’m not sure if Vercel host the DB automatically with Neon and the Blob store for the media… Thank anyway, keep up the great work !

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

      If you hit the verel deploy button it will use Neon fo the DB and the vercel blob store for the images.

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

    Is there a option to connect my own API to publish content so I can maintain a local/demo db and publish it to my prod db.

  • @Diego_Cabrera
    @Diego_Cabrera 29 днів тому

    Could you make a video deploying this app using coolify?

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

    When will react-19 be released, nextjs15???

  • @Teewatt
    @Teewatt Місяць тому +5

    Shoutout to the @AllAboutPayload YT channel

  • @nischaltimalsina6419
    @nischaltimalsina6419 Місяць тому +1

    What do you use for the terminal?

    • @jherr
      @jherr  Місяць тому +1

      JetBrains Mono Nerd Font

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

    Can you compare Payload and Strapi?

  • @relocaca
    @relocaca Місяць тому +1

    cant do the migration.

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

      yarn payload migrate:create initial

  • @dilshodziyodullayev6472
    @dilshodziyodullayev6472 Місяць тому +1

    👍

  • @sufiblade
    @sufiblade Місяць тому +2

    The best CMS, unfortunately doesn't support our db engine

    • @DominikZogg
      @DominikZogg Місяць тому +4

      Hopefully your DB engine is not MySQL. The finding a CMS is the least of your problem.

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

      ​@@DominikZogg even if it is, mysql and sqlite support is around the corner

    • @WiktorJurek
      @WiktorJurek Місяць тому +1

      @@DominikZogg lmao

    • @sufiblade
      @sufiblade Місяць тому +1

      @@DominikZogg haha it is SQL server

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

      ​@@sufiblade only worked onces with it. It supports spaces in field names, at this project was that bad using it. We had to patch an ORM to use it (Doctrine, PHP).

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

    When we can use payload with sqlite and remix ❤❤❤❤

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

    How does it compare to strapi (CMS) and convex (BaaS)?

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

      TBH, I would just try it and see. Clone my repo or clone the starter kit. Give it a go and see what you think.

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

    I'm getting very confused what "native" means in this context.

    • @jherr
      @jherr  Місяць тому +7

      With 2.0 you had to use NextJS in a custom server mode. This version is just seamlessly integrated within any modification to the Next setup.

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

    Anyone compared Payload with the king, Directus? Dont really care about react. Just need a damn good CMS

  • @doughamlin
    @doughamlin Місяць тому +5

    "Slug" is a newspaper term en.wikipedia.org/wiki/Slug_%28publishing%29

  • @Michael-Martell
    @Michael-Martell Місяць тому

    I have been asking them to make a Xata db adapter. If that’s something that interested you, please send them a message!

    • @JamesMikrut
      @JamesMikrut Місяць тому +1

      have you tried it with our Postgres adapter? I bet it could work. Never tried it myself but would be willing to take a peek into it in the near-ish future for ya

    • @Michael-Martell
      @Michael-Martell Місяць тому

      @@JamesMikrut Yeah I spent several weeks trying everything I could. There's an issue with the naming conventions with using Postgres. Xata renames columns from id to xata_id, when using their beta postgres database. Why I think it's worth the effort, is that they don't put any db's to sleep, so building payload into applications that may not have as many reads and writes would appeal to a large amount of projects. Sure, I could just make a time trigger to auto update something in supabase every week but I'd rather work within the system than fight against it, and thats where I think Xata really shines.

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

    Admin access through email and password...
    Just don't use it! It's hackable in this day and age.

    • @payloadcms
      @payloadcms Місяць тому +4

      That's our out of the box login to keep it simple for most use cases, but you have full control to integrate your authentication with whatever you need like SSO services or nextjs plugins

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

      ​@@payloadcms Give a number from 0 to 100 to the possibility of some regular guy who chooses a cms to deal with his content to do that auth thing on his own.
      42? 69? Good, now subtract number from 100 and you'll find the percentage of your websites you expose to the risk of deletion, or worse via un/pw attack because it's the default way of auth... We need TOTP in every un/pw application in 2024.

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

    Horrible name choice for search 😓