Build a Blog with Next.js and a Headless CMS (Strapi)

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

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

  • @dhaloh
    @dhaloh 9 месяцев назад +8

    I love your organization. Very well made video. As someone who has been coding for a few years but still has a lot to learn, I have to say, you're truly a master of styling. I can see that very clearly. Your code is just phenomenal. Your structure is perfection. Going to follow everything you post.

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

      I’m very glad you enjoyed the content. Thank you for the praises, you’re too kind!

  • @PavelDonchev
    @PavelDonchev Год назад +11

    Awesome video, I was mostly interested in the Strapi part, but the video is probably super helpful to put all pieces together for people who are just starting.

  • @DailyMindfulMotivations
    @DailyMindfulMotivations 10 месяцев назад +2

    By far the best nextjs / strapi video I have ever seen ❤

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

      Thank you! I'm very glad you enjoyed it!

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

      ​​@@nltech1btw, do you have this on your github? I searched for it but couldnt find it.

  • @salmaabousaid1745
    @salmaabousaid1745 Год назад +2

    Thank you for this video! before watching it I was so confused of how I need use strapi with nextJS, now it's all good.

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

      Thank you! I’m glad you got some clarity!

  • @Nicklessable
    @Nicklessable Год назад +5

    loved it! amazing tutorial. your channel will go places for sure!

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

      Thank you! Glad you liked it!

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

    Preeetty amazing! This video really helped me. Thank you!

    • @nltech1
      @nltech1  2 месяца назад +1

      @@cassiaqueiroz5512 Thank you! I’m glad you found it helpful!

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

    Was really hoping to see some more technical content modelling techniques and decisions. Please consider making a video like this and a blog maybe. I appreciate the consistent clarification on Strapi concept and terminologies. Thank you

  • @rickydawn4431
    @rickydawn4431 Год назад +3

    More on Strapi / NextJS please! Like comment systems, or Tailwind CSS etc - this video was great, have subbed.

    • @nltech1
      @nltech1  Год назад +3

      Thank you! I will definitely make more videos on Strap and Next. I have a lot of videos on Next.js already, including a full course. I will probably make one or more videos and explore Strapi in-depth as it is an interesting topic.

  • @MrSonicastra
    @MrSonicastra 6 месяцев назад +1

    Nice video,keep it up. Data 'slug' can also been generated by UID select and link the title to it, then the slug will automatic been the title with dashes.

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

    Nice tutorial Sir. After the restriction on roles for free users was removed, Strapi became extremely amazing.

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

      Thank you! I couldn't agree more. I personally recommend Strapi for a wide range of projects I'm involved with which require a CMS.

  • @DarianBenam
    @DarianBenam 10 месяцев назад +1

    Awesome tutorial. Thanks for posting this!

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

      My pleasure!

  • @editin232
    @editin232 Год назад +2

    Great walk tough, learned a lot, thanks for sharing!

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

      Thank you! I’m glad you learned something new!

  • @TestDemo-x3g
    @TestDemo-x3g Год назад +1

    Awesome video!!!❤❤❤
    Please🙏 make more videos and explore relational data model Strapi in-depth

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

      Thank you! Will do!

  • @zzzzzzzzzzzzzzzzzzz13142
    @zzzzzzzzzzzzzzzzzzz13142 10 месяцев назад +1

    Greets from your neighbor Türkiye 🇹🇷

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

    Hey, great video that's very helpful for me as a beginner. I'll have a look on more of your content! Do you have an idea for a tutorial to setup your dev tools, like you did. Like compiling after each step and so on?
    Regards
    Oliver

  • @arsenico-of3yn
    @arsenico-of3yn 6 месяцев назад +1

    Hello! That was a great video. Is there another way to fetch a blog using the blog ID while still maintaining the slug in the URL? This approach would improve performance compared to fetching all blogs and then filtering for the one you need.

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

    Loved the Strapi part ! thanks man ! Subscribed
    What is the best way to deploy then ? any free option ?

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

    Awesome brother! I learnt a Lot!

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

    Thank you for this. Subscribed!

  • @fodortibor95
    @fodortibor95 9 месяцев назад +2

    great tutorial, thanks! but the link to your linkeding profile is not working

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

      You are correct. I fixed it. Thank you!

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

    I didn't get why I'm getting a different object structure from api ? On youy video at 1:14:18 you're getting the data array with contains the Content field and html-data inside but I'm getting a huge markdown object inside of the Content field with a lots of properties like paragraph , heading and etc. Is this customize some how or did the strapi developers just change the response body ? I'm using 4.16.2 version , on your video you used 4.12

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

      There are two different rich text fields in Strapi - markdown and blocks. Apparently you chose the blocks type which is why you are seeing this response. I have a video on how to render that field type as well: Render a Rich Text (Blocks) Field in React 🚀 Strapi Course #9
      ruclips.net/video/dZMx-6TqLVM/видео.html

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

      @@nltech1 Cool, thanks for the link. I found an other solution it's CKeditor.

  • @vothanhtien4869
    @vothanhtien4869 9 месяцев назад +2

    Can you please give me this github link, I need to review some things I don't understand

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

    thanks for the video, I like the way you talk. but I did not understand why you do not use semantic elements in the development of the blog, so that there is more benefit from learning?

  • @sahasdangol1778
    @sahasdangol1778 10 месяцев назад +1

    amazing video.

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

      Thank you!

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

    To get your rem values you needed to divide pixels by 16, not 18. Its browsers default typography size usually

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

      I do that because the base font size in this case is set by me to 18 and the design takes that base font size into consideration.

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

    Amazing tutorial

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

      Glad you liked it

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

    when deploying my next.js. app how will i be able to access the strapi admin panel from my next app?

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

      You need to deploy the Strapi and Next.js applications. They are two separate applications, but you can run them on the same server depending on the scale of the application.

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

    Nice video - just my 2c, I'd probably spend less time on the styling - of the hour and a half video an hour of it is purely styling/setup. Great work though, really enjoyed the Strapi stuff.

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

      Thanks! I debated a lot weather I should include a large styling part, but in the end decided to include more content knowing that you can skip with the timestamps.
      I will using more ready-made components for faster styles next time tough, as this really is very extensive.

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

    pls where can I get the images and files used in this video so I can finish the project

  • @copaceticobserver
    @copaceticobserver 2 месяца назад +1

    Hi would you recommend strapi as a cms for freelance websites?

    • @nltech1
      @nltech1  2 месяца назад +1

      Absolutely. It is open source, so you have 0 costs and user friendly (so that you can train them to use the CMS easily). You just have to figure out a good deployment process (and cloud provider) to simplify that for your clients.

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

      @@nltech1 thank you!

  • @devewu672
    @devewu672 Год назад +2

    I loved Strapi when learning the basics. Afterwards due to the terrible support / documentation which constantly is changing I lost too much time and the projects became inefficient when too much custom logic was part of it.
    There is a community and even a discord group - however more or less every second fancy issues will never be solved.
    Also the field ui is not usable for heavy content cms solutions. The UX is only usable when you have just a handful fields.
    There is also no native build in conditional field validation for forms in the backend. This is a no go for a modern CMS.
    Its so sad - as Strapi has a fantastic service container also the backend framework is great.

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

      Sorry to hear that. What CMS do you use now for content-heavy sites? I'm curious because I use enterprise CMS systems every day (on very content-heavy corporate sites) and they have pretty much the same UX.. just fields in a stack. I would be interested to explore a CMS that has a better content editing UI, because I agree it is quite tedious managing content in a content type with like 70 fields in a stack layout.. just haven't found anything better so far.

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

      I haven’t found it eather. Sanity has definitely more CMS abilities. But it’s not free.

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

    how would you push to production on vercel platform? could you make a tutorial on how to do that bro?

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

    Thanks for this video it is really helpful sub to you and liked the vid

  • @GUCMAJ
    @GUCMAJ Год назад +2

    Great lesson but no instructions on how to put it into production now.
    Ideally it should be some free heroku and vercel. This would be very useful, please make a video like this

    • @nltech1
      @nltech1  Год назад +3

      Thank you! I will definitely make a video on that topic. I’m still not sure on the exact format but once I clear up the idea I will make it. Ideally I want to cover multiple cloud providers.

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

      💪👌 Thank you @@nltech1

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

    I'm have an error in button.js: "'const' declarations must be initialized" The console message underlines "Button" in "const Button.Icon = ({ iconType }) => {" But I can't find it. Any idea what I should be looking for?

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

      It's just "Button.Icon", without the "const" *Edit: Oh, I just saw you already got to the right answer :)

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

    Nice video, but shouldn't the blog pages be static with use client? Doing it server-side wouldn't be efficient for SEO purpouses

    • @nltech1
      @nltech1  10 месяцев назад +1

      Could you elaborate why you think that client-side rendering would be more efficient for SEO purposes? Generally, a server-side rendered page is regarded as more SEO friendly the page is pre-rendered on the server and every crawler can retrieve the page metadata and pre-rendered content.
      Also keep in mind that most modern search engines handle client-side rendered pages very well as well, as the robots will render JavaScript.

  • @mikhacavin
    @mikhacavin Год назад +2

    subscribed!

  • @mariusorani
    @mariusorani 4 месяца назад +2

    If you‘re here for strapi, jump to 1:06:31

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

    I can't seem to install strapi on my macbook Air. It's always throwing errors

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

      Make sure you have Node.js LTS version 18 or 20. You also need Python if you want to use Strapi with SQLite (which is the database used for the default development quickstart project). Beyond that you could be getting errors for many reasons, but with the provided info, I can only give you some information about the dependencies.

  • @Love-id8gu
    @Love-id8gu Год назад +1

    Awesome video!!!
    🙌 Please make a Notion clone using Next.js stack, Prisma, PostgreSQL, Next-Auth, React-Hook-Form + Valibot, Shadcn UI, Typescript, Tailwind CSS.... Thank you very much! ❤❤❤❤❤

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

      Thank you! Glad you liked it.
      I already have planned the upcomming videos and I have plans to build similar applications to Notion.

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

    where is the git repo for the next js ?

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

    why strapi cms updates is not getting reflected in next js ?

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

      disable cache on your browser. Inspect, go to network, disable cache, refresh page.

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

      As the
      @workplayproductions8358 pointed out, the most likely reason is you are running into cache. Next will automatically cache requests. If you are running in dev mode, just hard refresh with ctrl + f5 and you should see the new data. Alternatively you can also completely disable the cache.

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

    Very good video. How could I give my client an admin panel so they can upload, modify and delete their post, without having authentication. Thank you so much!

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

      The admin panel for content management would be the Strapi admin. I don't think there is an option to give your client access to it without authentication because that is very unusual. That way anyone with a specific URL would be able to change the content? That is very unsafe and you will not find it implemented in any content management system by default. You would have to create a custom user interface with that, which makes post requests to an API (you can achieve that with Strapi), but I would advise you strongly against that.
      Why not just create an account for your client and give him the appropriate permissions, so that he can edit only what he needs? That's the standard workflow when working with content management systems.

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

      Of course, that's what I was referring to. That is, I could use Strapi to invite my client and thus, I could give him Content Editor permission, which from the administration panel in configuration I can send an invitation to my client with the role of "Editor" and thanks to this I save myself from creating a Login in my front, plus my client did not ask me for that.
      Would you know where I could deploy Strapi?
      Should I just send him the deployment link so he can use the Strapi admin panel?
      Thank you very much for the previous response!

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

    What about deployment

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

    Awesome Video !!
    Please Share Project link as well

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

      Thank you! Unfortunately I by mistake I didn't share or keep the project files for this video. Will make sure to include them in my next videos.

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

    At 44:12 it seems like you also get the same error 🧐 but your page still renders. curious

    • @berkeleystudentcooperative
      @berkeleystudentcooperative Год назад +2

      And at 44:42 you delete 'const' from the beginning of the line. I missed that the first few times I watched.

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

      Yes, you found the issue. Button is already defined in this type, my intention was to add another property to it - Icon. As a component is also an Object, I can do that. It’s not absolutely necessary tough, you can just define a ButtonIcon component in the same file and some people prefer that style.

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

    How do you host it?

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

    could you do the same tutorial using headless wordpress?

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

      I will definitely do a future video which will incorporate headless WordPress. I am not sure at which point I'll get to that tough, as I have multiple interesting topics planned before that.

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

      @@nltech1 oh okay! subscribed for future videos..

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

      headless wordpress is seriously a nightmare

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

      @@secretarybailey770 that is true but you cannot deny the fact that wordpress is currently the most popular CMS platform, thus it's better to stay updated with technologies being used heavily in the market.

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

    please instruct me 1:28:52s, I don't understand

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

    hi can you share source code?

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

    You should add timestamps.

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

      You're right. I had timestamps, which got lost at some point or I did not save them correctly. I added them again, thanks!

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

    Meaning i need to spend 2 hours just to connect a CMS to Next.JS? No, thanks, i'll stick to hard-coded pages and content then.

    • @nltech1
      @nltech1  8 месяцев назад +1

      If that works for you, it's fine. With larger scale projects that is no longer an option and non-technical people need to edit content as well.
      A more lean option for small sites is a static site builder using files as content source like markdown. It's frequently used for blogs and documentation sites for example. Just mentioning it in case you are exploring other options.

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

      ​@@nltech1Makes sense. Whhat's the static site buider? That think where you don't make a frontend yourself but instead put some ready-made awful looking components onto your website?

  • @Benthetech-qn2lf
    @Benthetech-qn2lf 6 месяцев назад

    100th comment

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

    ✌️ 'Promo sm'

  • @instrido580
    @instrido580 9 месяцев назад +7

    Half the tutorial is a CSS course. Wasted time.

    • @kiranmagadum5330
      @kiranmagadum5330 7 месяцев назад +2

      Lol don't call yourself a frontend developer if you don't like css. Go do something else. The video was great and Informative. I loved the unique way of using saas with next. It was amazing.

    • @instrido580
      @instrido580 7 месяцев назад +2

      @@kiranmagadum5330 Read the title of this course. Re-assess your comment. Don't call yourself a DEVELOPER, period. Such a shame.

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

      ​@@kiranmagadum5330your pfp says all...
      This tutorial is indeed a waste of time

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

    Attempting to validate button.js I get "Identifier 'Button' has already been declared" on the Button.Icon line.