Build Modern Next 14 Server Side App with Server Actions, Infinite Scroll & Framer Motion Animations

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ต.ค. 2024

ความคิดเห็น • 320

  • @javascriptmastery
    @javascriptmastery  10 หลายเดือนก่อน +6

    🌟 Become a top 1% Next.js 14 developer in only one course: jsmastery.pro/next14

  • @rohankaushik7849
    @rohankaushik7849 11 หลายเดือนก่อน +58

    00:03 Server actions are functions that run on the server and can be called like any other JavaScript functions.
    02:44 Server actions in Next.js abstract the process of making API calls from client to server.
    07:43 Server actions allow you to do mutations and perform create, update, and delete actions on top of the typical read operations.
    10:07 Learn about infinite scrolling and server actions
    15:05 Fetch data from the Shikimori API
    17:28 Creating a parameter template string with page, limit, and order
    21:54 Install and use react-intersection-observer package for tracking element visibility
    24:09 Implementing server actions and infinite scroll for loading more data
    28:30 Implement animations using framer motion in a Next.js app
    30:45 Create a motion div component for client-side rendering using Framer Motion.
    35:11 Optimize loading time of items when scrolling far down
    37:15 Using server actions to fetch and return data for animations
    41:36 Learn how to use Next.js like a pro with server actions and deep dive lectures

  • @aayushjajoo332
    @aayushjajoo332 11 หลายเดือนก่อน +22

    This is the kind of video that sorts all of the issues and explains properly. Awesome Project!

  • @conhecioamor
    @conhecioamor 11 หลายเดือนก่อน +12

    Awesome Project Adrian! I'm 20, Brazilian and starting my career with nextjs on this month, I don't have money for the entire curse yet but I really love to make all this projects with you, I wish I will start my own projects soon, thank you for all! God bless you!

  • @GreenPear-mz4dl
    @GreenPear-mz4dl 11 หลายเดือนก่อน +7

    Hi Adrian, know you is a blessing, I am really grateful that you make the NEXTJS14 course on sale again so I could be able to buy it yesterday. I love all of your Video contents, they are free but beyond quality. Thank you again. 💯💯💯

  • @Tapadar.Monsur
    @Tapadar.Monsur 11 หลายเดือนก่อน +19

    I'm thoroughly enjoying these concise crash courses that delve into specific topics. Thank you for creating these informative videos. I look forward to more content in the future, and I would particularly appreciate a short tutorial on React Query. Keep up the great work!

  • @Lamayoo
    @Lamayoo 2 หลายเดือนก่อน +1

    please do more of these videos they are so helpful and not overwhelming. Thank You for your efforts.

  • @eliasoliveira292
    @eliasoliveira292 7 หลายเดือนก่อน +2

    I was skeptical about the components being on server side after aplying the but they are really in server side, thank you for this tutorial.

    • @Hirijinitus
      @Hirijinitus 5 หลายเดือนก่อน +1

      Me too. I thought use client would be inherited by the children.

    • @emilzonjeronimo8898
      @emilzonjeronimo8898 หลายเดือนก่อน

      You're right, to make server side that section it's necessary to receive it in a children prop in the component.

  • @seventyMinus1
    @seventyMinus1 11 หลายเดือนก่อน +4

    The way you explained things is Just Amazing. This video is really a piece of work

  • @mariakaravazaki4608
    @mariakaravazaki4608 25 วันที่ผ่านมา +1

    Hi Adrian, that's great content, please make more videos like this, thank you for everything!

  • @alexanderchepkiyeng
    @alexanderchepkiyeng 11 หลายเดือนก่อน +24

    2 years later, I am still Here loving the content 🎉❤

    • @javascriptmastery
      @javascriptmastery  11 หลายเดือนก่อน +1

      Thank you so much! ❤️

    • @serxeoworld5773
      @serxeoworld5773 11 หลายเดือนก่อน

      Did you get hired?

    • @alexanderchepkiyeng
      @alexanderchepkiyeng 11 หลายเดือนก่อน

      @@serxeoworld5773 Not yet. Been working on getting the capital I Join the Masterclass, passed the interview with flying colours. JSM, Adrian articulates core concepts in a simple clear manner. Provided you have the innate will to learn consistently through practice. Understand, Rinse then Repeat 🔁

    • @franukito
      @franukito 11 หลายเดือนก่อน +1

      sir do you live in year 2025?
      salutations from year 2023

    • @AkashhGuptaa
      @AkashhGuptaa 10 หลายเดือนก่อน

      ​@@franukitohe means he's a old sub and still watches the content frankfurt dickson

  • @sobanmustafa4457
    @sobanmustafa4457 11 หลายเดือนก่อน +3

    Awesome video. Yes Please make more content of this type which focuses on a single specific feature. it helps to get more in-depth knowledge of that topic. Thank you so much

  • @Stefoux
    @Stefoux 11 หลายเดือนก่อน +4

    Excellent little project with explanation of concepts! I would like to have more content like this to improve frontend concepts ! Thank you Adrian & JSM

  • @MohammedMaaz-un2gp
    @MohammedMaaz-un2gp 11 หลายเดือนก่อน +3

    Finally I have something to do for the next two weeks! Thanks JSM.

  • @edihasrin7290
    @edihasrin7290 10 หลายเดือนก่อน +4

    prefer like this, under 1 hours, easy to understand, love it ❤❤❤❤

  • @tryingtobeproductive
    @tryingtobeproductive 11 หลายเดือนก่อน +2

    nobody makes me feel motivated to code than this guy on the leadup to the coding, well done

  • @online_sourcecode1613
    @online_sourcecode1613 11 หลายเดือนก่อน +2

    really helpful, i was struggling with infinite scroll functionality

  • @dev-akeel
    @dev-akeel 11 หลายเดือนก่อน +4

    33:43 Yes but some of the components are rendered client side even without directive.
    So see that it is client side rendered move to the sources tab and see that browser has that AnimeCard component.
    Thanks a lot sir, still great efforts 👌

    • @dev-akeel
      @dev-akeel 11 หลายเดือนก่อน

      Sir can you please mark the AnimeCard component with "use server" directive and reply here with what you have, everything working fine or error..?

    • @javascriptmastery
      @javascriptmastery  11 หลายเดือนก่อน +1

      That's a great observation

  • @2pacrapempire866
    @2pacrapempire866 9 หลายเดือนก่อน +1

    Thank you so much, need more of this. You explain the concepts in an easy way. Thanks

  • @jooncco
    @jooncco 10 หลายเดือนก่อน

    The concept of Server Action became clear thanks to this video. Thanks Adrian 👏🏼👏🏼

  • @aleksandrgolyk3787
    @aleksandrgolyk3787 11 หลายเดือนก่อน +2

    this is great, simply and very useful class. Very required format nowadays) Show must go on!!! Thank you so much!!

  • @nabeelmirza8801
    @nabeelmirza8801 11 หลายเดือนก่อน +3

    Wow, I'm so impressed of your websites!

  • @deathdefier45
    @deathdefier45 4 หลายเดือนก่อน

    Love you man this is the absolute best tutorial to get up and running with nextjs 14

  • @ModernMonk0
    @ModernMonk0 3 หลายเดือนก่อน +1

    Yes, Make these simple apps and explain these small concepts

  • @vaniad555
    @vaniad555 9 หลายเดือนก่อน

    What a great short project, it works like magik. Hope to see much more.

  • @razeft
    @razeft 10 หลายเดือนก่อน +1

    Really good project for explain the concept! I suggest everyone to use something to take note when watch this kind of video, it's nice to do the project, but it's really important to take note when he explain the concept.

  • @OPGAMER.
    @OPGAMER. 11 หลายเดือนก่อน +2

    As a anime lover, really excited to built this project.

  • @syndg
    @syndg 11 หลายเดือนก่อน +1

    Amazingggg! Was literally waiting for you to upload a video where you use framer motion!

  • @Nanashi-rq7lk
    @Nanashi-rq7lk 2 หลายเดือนก่อน +1

    Thanks. Good Tutorial

  • @mahmudulislamrudra5659
    @mahmudulislamrudra5659 11 หลายเดือนก่อน +2

    Thanks man. Thanks a lot. This type of video is very helpful to explain concepts and facts. So, if its possible, then keep making this type of videos and contents...

  • @manomangaldas
    @manomangaldas 11 หลายเดือนก่อน +1

    Crash courses are awesome.. please do more of these concept based videos

  • @mohammadharish8740
    @mohammadharish8740 11 หลายเดือนก่อน +1

    Love you adrian for putting my suggestion to the video itself 😭😭😭😭❣️

  • @b166er4
    @b166er4 10 หลายเดือนก่อน

    thx for this great tuto,
    i think,
    delay: (index % 8) * 0.1
    can be a good way to handle the stagger(based on limit=8)

  • @alexkarpen
    @alexkarpen 11 หลายเดือนก่อน +1

    For animation delay use the current page too, it will get smoother. Because the last from the first page is visible after the first of the second. Anyway awesome content thank you once more!

  • @sandrogtz
    @sandrogtz 10 หลายเดือนก่อน

    perfect video length packed with valuable knowledge thanks

  • @himel_islam
    @himel_islam 11 หลายเดือนก่อน +1

    really helpful!! please do make this types of videos

  • @magnusbrzenk447
    @magnusbrzenk447 8 หลายเดือนก่อน +1

    “nextJs becoming php” is the perfect summary of my concerns with all the new jazz

    • @academai11
      @academai11 8 หลายเดือนก่อน

      'use php';
      coming soon...

  • @sportsmanship2024
    @sportsmanship2024 11 หลายเดือนก่อน +1

    Wow! This is a great content. I wish to join the ultimate class. Thank you for the insight Mr.Andrian. We will like to get more insights and contents from you

  • @lCebolitosl
    @lCebolitosl 11 หลายเดือนก่อน +1

    I want the JSM course so bad but I'm broke and unemployed right now. Finished Odin Project and some JSM projects and trying to land a first job so I can invest into this course!

  • @duduzincp
    @duduzincp 10 หลายเดือนก่อน +1

    Nice bro, Brazil thanks you

  • @vOnez212
    @vOnez212 11 หลายเดือนก่อน +1

    Good stuff. Much appreciated! Anything on Payload CMS planned?

  • @zhiven7484
    @zhiven7484 11 หลายเดือนก่อน +1

    Very good video!! Looking for more!

  • @ProjectsMastery82
    @ProjectsMastery82 11 หลายเดือนก่อน +1

    Great video 🎉

  • @aadarshgurug
    @aadarshgurug 11 หลายเดือนก่อน +1

    it's amazing, need more videos like this ?

  • @Omi-rn4cg
    @Omi-rn4cg 11 หลายเดือนก่อน +2

    G.O.A.T , one love from Nigeria.

  • @MuhammadHussain-codr
    @MuhammadHussain-codr 11 หลายเดือนก่อน +1

    Great! Please more of this type of videos. Thank You

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 11 หลายเดือนก่อน +2

    Wow
    Next 14 with framer motion ❤

  • @Pulsemastery
    @Pulsemastery 11 หลายเดือนก่อน +2

    Thanks 🎉

  • @Omarwaqar-pt7wf
    @Omarwaqar-pt7wf 11 หลายเดือนก่อน +1

    Yes , pls do more of these videos

  • @wildanmaulana1882
    @wildanmaulana1882 11 หลายเดือนก่อน +8

    here is the simple code for framer motion,
    just add this in your map
    const adjustedIndex = index % 20;
    - the number 20 is limit data perpage
    so you dont need to move the map into actions file
    for example, in loadmore component
    data.map((series: SeriesCard, index) => {
    const adjustedIndex = index % 20;
    return (



    );
    })
    sorry my english is bad

  • @codecure4009
    @codecure4009 9 หลายเดือนก่อน

    Love your way of Explaining

  • @asrafulislam8948
    @asrafulislam8948 11 หลายเดือนก่อน +1

    Great video as always.

  • @valentinkrajzelman4649
    @valentinkrajzelman4649 11 หลายเดือนก่อน +2

    omg next 14 already jesus

  • @lukaszsl
    @lukaszsl 11 หลายเดือนก่อน

    Hi Thanks for the video !
    Info for motion:
    To have a server component inside the client component you need to use children props. Something like that:
    "use client";
    import React from "react";
    import { motion } from "framer-motion";
    type Props = {
    children: React.ReactNode;
    className?: string;
    };
    const variants = {
    hidden: { opacity: 0, y: -50 },
    visible: {
    opacity: 1,
    y: 0
    },
    };
    export const MotionDiv = ({ children, className }: Props) => {
    return (

    {children}

    );
    };
    export default MotionDiv;
    //export const MotionDiv = motion.div;

  • @Pulsemastery
    @Pulsemastery 11 หลายเดือนก่อน +1

    Thanks a lot 🎉 Adrian

  • @apo__tato__sal__ad
    @apo__tato__sal__ad 7 หลายเดือนก่อน

    This was amazing!!

  • @irfansaeedkhan7242
    @irfansaeedkhan7242 10 หลายเดือนก่อน

    very helpful , thank you for in detail knowledge

  • @pep3marquez46
    @pep3marquez46 11 หลายเดือนก่อน +1

    I love it. Thanks, a lot!

  • @Kokouvi_el_mejor
    @Kokouvi_el_mejor 11 หลายเดือนก่อน +1

    Thanks ADRIAN

  • @ahmed01053
    @ahmed01053 11 หลายเดือนก่อน +3

    Your content is very nice , interesting And I love it very much❤️❤️
    I would like it if you could create courses in Angular or projects using it🙏❤️

  • @alrazy12
    @alrazy12 11 หลายเดือนก่อน +1

    yes do more tutorials like this one

  • @salihbozkaya8465
    @salihbozkaya8465 11 หลายเดือนก่อน +1

    Next.js is just awesome❤

  • @sarhan_104
    @sarhan_104 10 หลายเดือนก่อน

    yes i want that simple apps with more focused on learning

  • @BappyTechTips
    @BappyTechTips 9 หลายเดือนก่อน

    Instead of returning the AnimeCard from the server action, a better approach would be to adjust the delay. We can simply do it using the remainder operator like this. delay: (index % 8 ) * 0.25,

  • @BillaSaheb786
    @BillaSaheb786 11 หลายเดือนก่อน +1

    great excellent plz make more project on server action

  • @zyncc
    @zyncc 11 หลายเดือนก่อน +1

    Its an amazing day when JSM uploads a video 😉

  • @alexg7282
    @alexg7282 10 หลายเดือนก่อน +1

    Thank you !

  • @SamarHayatOfficial
    @SamarHayatOfficial 11 หลายเดือนก่อน +1

    I'm just waiting for your tutorial 😊

  • @sanjay261982
    @sanjay261982 11 หลายเดือนก่อน +1

    You started with server action but showed react server component (RSC) functionality. Data fetch on server side is based on RSC. Server Actions is completely different and is used for data mutations on server. Try to show a client side component with use client directive directly mutating the DB using a inline function that has a use server directive inside that functions boundary. That will be a good example of react server action.

    • @sujatagunale7079
      @sujatagunale7079 11 หลายเดือนก่อน

      Project shows both the ways of using server action from the client (check LoadMore component) and server components. And in the beginning, it does talk about mutations and stuff through code snippets 👍

    • @javascriptmastery
      @javascriptmastery  11 หลายเดือนก่อน

      Yes! 😊

    • @dev-akeel
      @dev-akeel 11 หลายเดือนก่อน

      @@sujatagunale7079 really🤔
      I think you couldn't understand that comment.
      The data is normally fetched from the server it is not server action.
      *But still a great video.* 💖💖

    • @sanjay261982
      @sanjay261982 11 หลายเดือนก่อน +1

      ​@@dev-akeelthankyou

  • @suryakantasinha
    @suryakantasinha 11 หลายเดือนก่อน +1

    Finally😆small project but great🤩

  • @mamitianasolofo723
    @mamitianasolofo723 11 หลายเดือนก่อน +1

    Your videos are amazing

  • @aroundtheworld560
    @aroundtheworld560 11 หลายเดือนก่อน +1

    Boss! Love You.❤

  • @deviskalo
    @deviskalo 11 หลายเดือนก่อน +1

    Wow, amazing! Thanks for this @adrian

  • @AdamuAnita
    @AdamuAnita 27 วันที่ผ่านมา

    Thank you

  • @mahtabvariyani
    @mahtabvariyani 11 หลายเดือนก่อน +1

    perfect as always....

  • @gyanganga8441
    @gyanganga8441 11 หลายเดือนก่อน

    I'm following this channel for a year but never completed any single project as mostly get stuck.
    but this project completing after Next js also did in react js .

  • @NhanNguyen-yu3gs
    @NhanNguyen-yu3gs 10 หลายเดือนก่อน

    to be honest, i would like you release another video like that to explain more power Next.js features rather than the series which fully practices nextjs project. But btw, i always grant what you did.

  • @syncosota
    @syncosota 9 หลายเดือนก่อน

    thank you master ❤

  • @Ekko-d7o
    @Ekko-d7o 9 หลายเดือนก่อน

    thank you so muxh ❤

  • @Nanashi-rq7lk
    @Nanashi-rq7lk 9 หลายเดือนก่อน

    Perfect Tutorial

  • @waggadash
    @waggadash 10 หลายเดือนก่อน

    Well done!

  • @Zkyyarpan
    @Zkyyarpan 11 หลายเดือนก่อน +3

    Great video! I really enjoyed the content. Your VS Code setup looks fantastic! Could you please share the font and theme you're using? I'm looking to improve my coding environment, and your setup caught my eye. Thanks in advance, and keep up the excellent work !

  • @marvikfr
    @marvikfr 11 หลายเดือนก่อน

    Delicious ^^
    Merci !

  • @elhaambasheerch7058
    @elhaambasheerch7058 11 หลายเดือนก่อน +1

    These kind of videos are generally more useful

    • @javascriptmastery
      @javascriptmastery  11 หลายเดือนก่อน

      More useful than Build and Deploy?

  • @atmanirbharofficialindiaon2789
    @atmanirbharofficialindiaon2789 10 หลายเดือนก่อน +1

    Pls tell ur vscode theme looks so good

  • @SubhasishDas-r5o
    @SubhasishDas-r5o 11 หลายเดือนก่อน

    Sir, can you please make a course on how to use preact signals with next js?

  • @yugal8627
    @yugal8627 11 หลายเดือนก่อน +1

    Amazing conten as always..🙂.
    Can someone tell me which file icons and themes Adrian is using.

  • @bekizodcancer3657
    @bekizodcancer3657 11 หลายเดือนก่อน +1

    You are out of human species...Thanks man

  • @Sbz-i2c
    @Sbz-i2c 11 หลายเดือนก่อน

    Many thanks for your tutorials 👍
    Is it correct to say that:
    - the fetch on the home page server-component is done at built-time ?
    - and then all subsequent fetch from LoadMore client-side component are made at run-time, but not from the client as would do a "traditional" fetch in a React component, but rather on the server, thanks to the "use server" directive in the fetchAnime ("action") file ?

    • @FrancescoArosio
      @FrancescoArosio 10 หลายเดือนก่อน

      As a newbie, I got to the same your conclusions.
      If I npm run build it, the first results from homepage are statically hardened into html static files. Maybe removing it from homepage should "abuse" immediately of the LoadMore 'trigger' to dynamically ask server to fetch new data as page 1 too (also changing the prop page to init val 1 in LoadMore).
      As per subsequent calls by LoadMore, yes - the fetch is run by the server, but the client is still POST-ing a request to the server, instead of fetching data directly from API server. This is useful if you have "private" keys to query target APIs or some internal backend/datasource you don't want to make publicly accessible, or you don't want to write different APIs from scratch.

  • @frontend_ko
    @frontend_ko 7 หลายเดือนก่อน

    thanks for nice video!

  • @sanketchauhan901
    @sanketchauhan901 5 หลายเดือนก่อน

    Bro casually showed us how to render server side components inside a client side component!

  • @anujkashyap999
    @anujkashyap999 11 หลายเดือนก่อน +2

    My mentor, ❤ hey there!

  • @podmixglobal
    @podmixglobal 11 หลายเดือนก่อน +1

    Big fan sir ❤

  • @pranavanilkumar1246
    @pranavanilkumar1246 11 หลายเดือนก่อน +1

    Top Class

  • @alphapromarketing5703
    @alphapromarketing5703 11 หลายเดือนก่อน +1

    API management is realy hard kindly make any short video to explain how we manage any api database

  • @R0VERKAI
    @R0VERKAI 10 หลายเดือนก่อน

    Thank you so much for your amazing tutorials. May I have a request?! I want to code an admin interface for my Next.js app with Tailwind css and Typescript. However I don't know how to do it. I know you are busy, but can you consider making a tutorial for it in the future? Thank you in advance❤

  • @walinkeio
    @walinkeio 7 หลายเดือนก่อน

    How do you make so smooth animations ? :D

  • @abdullahisalihu8107
    @abdullahisalihu8107 11 หลายเดือนก่อน

    Slick
    I’m curious, what do you use for your scrolling?

    • @dev-akeel
      @dev-akeel 11 หลายเดือนก่อน +1

      It is vanilla Js feature called intersection observer.

    • @abdullahisalihu8107
      @abdullahisalihu8107 11 หลายเดือนก่อน +1

      @@dev-akeel I meant, when he scrolls down, his cursor changes

    • @dev-akeel
      @dev-akeel 11 หลายเดือนก่อน

      @@abdullahisalihu8107 that's so easy
      Click mouse wheal and drag down. The more you drag the more is the scroll speed.
      It will work on any website.

    • @javascriptmastery
      @javascriptmastery  11 หลายเดือนก่อน

      Yes, he's right!

  • @bullyversal5313
    @bullyversal5313 11 หลายเดือนก่อน +1

    Can you make a 100% full stack app with everything integrated for a functional web app.. like an e-commerce app or something

  • @HavoJavo
    @HavoJavo 11 หลายเดือนก่อน

    Awesome course as always, thanks. Any chance the blockchain/nft course can be updated ? It is a really good time to learn blockchain programming and its a shame ur course is outdated.

    • @javascriptmastery
      @javascriptmastery  11 หลายเดือนก่อน

      Unfortunately, no.

    • @dev-akeel
      @dev-akeel 11 หลายเดือนก่อน

      Sir is always up to date he knows which course is best 💖
      He does research before creating content. And you say what you like.