آموزش Next js 15 رایگان و پروژه محور با مرن فا
جلسه 1 : معرفی دوره آموزش نکست جی اس 15 + tailwind.css
جلسه 2 : برتری های Next.js نسبت به فریمورک های دیگر - برترین سایت های نکست جی اسی ایران
جلسه 3 : پیش نیازهای یادگیری next js + مسیر یاد گیری mern stack شدن
جلسه 4 : نصب پروژه Next.js 15
جلسه 5 : نصب پروژه نکست جی اس بخش 2 - اکستنشن های vscode
جلسه 6 : معرفی فایل های پروژه نکست جی اس - بخش 1
جلسه 7 : معرفی فایل های پروژه نکست جی اس- بخش 2
جلسه 8 : اجرا و انتقال پروژه next.js 15
جلسه 9 : استراکچر کدهای پروژه نکست جی اسی - لایه بندی کدها
جلسه 10 : استراکچر پروژه بخش 2 - layout.jsx و ایجاد صفحه در پروژه
جلسه 11 : انواع روت ها - static route ها در پروژه Next.js
جلسه 12 : انواع روت ها - static route ها و dynamic route ها
جلسه 13 : آموزش انواع روت ها در Next.js - معرفی params و catch all routes
جلسه 14 : مفهوم route group - تعریف layout های مختلف برای صفحات مختلف
جلسه 15 : استایل دهی در پروژه نکست جی اسی - CSS in JS - Bootstrap - Scss - CSS
جلسه 16 : آموزش tailwind.css در next js - بخش 1 - tailwind چیست
جلسه 17 : آموزش تیلویند - بخش 2 - flex
جلسه 18 : آموزش tailwind css - بخش 3 - استایل دلخواه - ریسپانسیو برای موبایل
جلسه 19 : طراحی هدر سایت مرن فا با tailwind.css
جلسه 20 : فایل public در پروژه های Next js - بخش 1 - افزودن فونت به پروژه
جلسه 21 : آموزش پوشه public در پروژه های Next js 15 - معرفی تگ Image در نکست جی اس بخش 1
جلسه 22 : بررسی props های تگ Image و internal and external Image
جلسه 23 : آموزش تگ Link در Next js 15
جلسه 24 : بررسی کاربردهای تگ فرگمنت در کامپوننت ها
جلسه 25 : چگونه بک اند را شروع کنیم - آموزش بک اند Next js 15 - پوشه API
جلسه 26 : بررسی بک اند نکست جی اس - بخش 2
جلسه 27 : طراحی هدر و فوتر مینی پروژه
جلسه 28 : آموزش سرور کامپوننت ها و کلاینت کامپوننت ها در Next.js 15
جلسه 29 : آموزش server component ها و client component ها - بخش 2
جلسه 30 : آموزش SSR و SSG و ISR و CSR در نکست جی اس 15
جلسه 31 : تفاوت بین دیتای لود شده به صورت server side و client side بخش 1
جلسه 32 : تفاوت بین دیتای لود شده به صورت server side و client side بخش 2
جلسه 33 : تفاوت بین SSR و SSG و ISR
جلسه 34 : طراحی صفحه اصلی - بخش 1
جلسه 35 : طراحی صفحه اصلی - بخش 2
جلسه 36 : طراحی صفحه تک فیلم بخش 1
جلسه 37 : طراحی صفحه تک فیلم بخش 2 - لود دیتا به صورت سئوفرندلی
جلسه 38 : طراحی صفحه تک فیلم بخش 3 - نمایش دیتا
جلسه 39 : طراحی صفحه تک فیلم بخش 4 - طراحی سایدبار کلاینت ساید
جلسه 40 : طراحی صفحه تک فیلم بخش 5 - تفاوت ورژن های مختلف نکست جی اس
جلسه 41 : افزودن آیکن به پروژه Next.js - فایل Loading.jsx
جلسه 42 : صفحه یافت نشد
جلسه 43 : سئو مقدماتی - بخش 1
جلسه 44 : سئو مقدماتی بخش 2 - ادامه راه
ترتیب شرکت در دوره ها
دوره های طراحی سایت کامل
دوره های تئوری
آموزش NEXT JS پیشرفته با مرن فا
بیش از 12 ساعتآموزش تخصصی SEO در Next js
نزدیک 3 ساعتآموزش typescript و Framer motion در Next js
بیش از 3 ساعتNext.js چیست و چه کاربردی دارد؟
قبل از شروع مطالعه متن، نیازه که اینو خدمتتون بگم. میتونید مطالب رو به صورت ویدئویی در دوره آموزش next js مرن فا که لیست جلساتش در ابتدای همین صفحه بود به صورت رایگان ملاحظه بفرمایید.
به عنوان پاسخ سوال Next.js چیست میتوان گفت نکست جی اس یک چارچوب از کتاب خانه react js است که چندین ویژگی اضافی، از جمله اسکریپتنویسی سمت سرور و صفحات وب ایستا را فراهم میکند. ریاکت یک کتابخانه جاوا اسکریپت است که به طور سنتی برای ساخت برنامه های کاربردی وب استفاده می شود که در مرورگر کلاینت با جاوا اسکریپت ارائه می شوند.
به صورت خلاصه تر میتوان گفت که فریمورک Next.js که ما به آموزش آن میپردازیم، فریمورکی هست که بر مبنای کتابخانه ریکت جی اس نوشته شده است تا نقاط ضعف آن را بپوشاند. مثلا سئو، مثلا سرعت، مثلا رندر سمت سرور و...
آیا امروز Next js بهترین تکنولوژی برای طراحی سایت هست؟
یکی از راه هایی که میتونیم بفهمیم چه فریمورکی از بقیه بهتره؛ اینه که ببینیم برترین وب سایتها، دارن از چه تکنولوزی هایی استفاده میکنن.
دیجی کالا
فرادرس
ترب
ژاکت
فیلم نت
پونیشا
ویرگول
وب سایت هایی که بالاتر دیدید، همه از Next js استفاده می کنند. علت این موضوع هم بسیار واضح هست. سرعت بسیار بالا، سئوی عالی در نکست جی اس، کاربرپسندی بیشتر وب سایتهای next.js ای و...
اگه شک دارید، برید توی جلسه دوم دوره آموزش next js رایگان با مرن فا، به صورت تصویری این موضوع رو توضیح دادم.
کیفیت بالای نکست جی اس باعث شده که توی چند سال اخیر، عموم کسب و کارها به این فریمورک روی بیارن و به همین دلیل پیشنهاد میکنم دوره های آموزش next js مرن فا رو از دست ندید. مرن فا اولین مرجع تخصصی Next js ایران هست و ما به صورت کاملا تخصصی روی این فریمورک تمرکز کردیم...
پیش نیاز های یادگیری next js
برای آموزش next js شما باید html و css و javascript رو یاد بگیرید. روی جاوااسکریپت یه مقدار زمان بزارید تا خوب یاد بگیریدش. پروژه های کوچیک جاوااسکریپتی هم بزنید. مثلا بازی دوز، ماشین حساب، فیلتر محصولات و یه اسلایدر ساده. اینا تموم شد، یه قالب ساده برای صفحه اصلی یه سایت رو بزنید. مثلا صفحه اصلی یه سایت وبلاگی ساده
بعد از این، نوبت میرسه به ریکت. لطفا React js رو یاد بگیرید ولی فقط و فقط با فانکشنال کامپوننت. نیازی نیست که روی کلاس کامپوننت ها زمانی بزارید. اگر دیدید که در یک آموزشی، مدرس داره با کلاس کامپوننت ها تدریس میکنه، بدونید که آموزشش قدیمیه و برید سراغ یه دوره دیگه.
برای آموزش react js نیازی به هزینه کردن نیست. پیشنهاد میکنم برید سراغ یوتوب. یوتوب فارسی، دنیایی از آموزش در زمینه های مختلف رو داره که میتونید خیلی ساده ازشون استفاده کنید.
چه بخش هایی از react js رو یاد بگیریم؟
توی ریکت جی اس، چند تا چیز هست که مهمه بلد باشید. اینا رو یاد گرفتید، میتونید آموزش نکست جی اس رو با مرن فا شروع کنید...
- 1.مفهوم Single Page Application ها ( SPA )
- 2. مفهوم کامپوننت محور بودن یک وب سایت
- 3. فانکشنال کامپوننت ها
- 4. تعریف تابع در یک کامپوننت
- 5. سه هوک مهم ریکت یعنی useState - useEffectt و useRef
فریمورک Next.js بهتر است یا کتابخانه React؟
ببینید خلاصه مفید بگم next js ورژن سئوفرندلی ریکت جی اس هست. یعنی توی نکست جی اس، ما برای لود اطلاعات از SSR و SSG استفاده میکنیم که این موضوع در React js نیست. همین مزیت باعث میشه که همه به فکر انتقال وب سایتشون به نکست جی اس افتادن...
بک اند رو چطور یاد بگیریم؟
ببینید وقتی شما React js رو یاد گرفتید، همونطور که بالاتر گفته شد خیلی ساده میتونید آموزش Next js رو با مرن فا شروع کنید. مرحله اول دیدن دوره آموزش نکست جی اس مقدماتی هست که در ابتدای همین صفحه بود.
پس از این موضوع، میتونید دوره فروشگاه فایل رو ثبت نام کنید. این دوره با فرانت اند Next js و Tailwind css و بک اند Node js و Mongo DB طراحی شده. توی 20 جلسه اول این دوره، شما میتونید فرانت رو با نکست جی اس و تیلویند بیشتر تمرین کنید تا تمامی مطالب ملکه ذهنتون بشه. پس از اون، نیاز پیدا میکنید به بک اند. پیشنهاد من برای بک اند این هست که لطفا دوره اکسپرس خلاصه مرن فا رو ببینید. توی 2 ساعت، مطالبی که برای برنامه نویسی بک اند نیاز دارید رو خدمتتون توضیح دادم.
یعنی اگه بخوام به صورت خلاصه مفید خدمتتون بگم، لطفا فصل اول دوره فروشگاه فایل که شامل 20 جلسه هست رو لطفا ببینید تا مطالب نکست جی اسی رو بیشتر تمرین کنید. سپس دوره اکسپرس خلاصه رو شرکت بکنید تا بک اند رو توی 2 ساعت یاد بگیرید. حالا برگردید و ادامه دوره فروشگاه فایل رو ببینید. در ادامه دوره فروشگاه فایل، میتونید نزدیک به 30 ساعت کدنویسی بک اند یاد بگیرید و نود جی اس تمرین کنید....
Node.js چیست؟ آیا در Next js کاربردی دارد؟
ببینید برای زدن بک اند یک وب سایت، میتونید از زبان های مختلفی استفاده کنید، php، python و کلی چیز دیگه. از jacascript هم میشه استفاده کرد. برای زدن بک اند با جاوااسکریپت، از node js استفاده میکنیم. در واقع نود جی اس یه زبان یا فریمورک مجزا نیست. بلکه یه پلتفرم هست که ما، به کمکش میتونیم زبان جاوااسکریپت رو در بک اند یا سرور اجرا کنیم.
شما پس از آموزش Next js، بعد از مدت کوتاهی نیاز پیدا میکنید که بک اند رو هم یاد بگیرید. نکست جی اس براتون یه سورپرایز داره. پوشه API.
در واقع ما در فرمیورک Next.js، یه پوشه داریم به اسم پوشه api که میتونیم بک اندمون رو همراه با فرانت اند در یک پروژه بنویسیم. جذابیت ماجرا اینجاست که برای استفاده از این پوشه، شما نیازی به یادگیری زبان جدیدی ندارید. خیلی ساده میتونیم برای اینکار از همین زبان javascript استفاده کنیم.
نکته مهم در مورد آموزش بک اند در next.js، این هست که پوشه api نکست جی اس، بر مبنای نود جی اس یا بهتره بگم فرمیورک اکسپرس نوشته شده. یعنی شما برای اینکه بتونید بک اند رو خوب یاد بگیرید، پیشنهاد میکنم ابتدا بک اند اکسپرس رو یاد بگیرید، سپس بک اند نکست جی اس رو شروع کنید. آموزش هاش هم توی همین مرن فا هست. یه دوره اکسپرس خلاصه داریم که توی صفحه همه دوره ها میتونید پیداش کنید. توی تقریبا از 2 ساعت، مواردی که توی پروژه ها کاربردی هستن و بهشون نیاز دارید رو خدمتتون توضیح دادم. علاوه بر این، بک اند پروژه فروشگاه فایل مرن فا هم به کمک همین اکسپرس نوشته شده که میتونید به کمک اون، اکسپرس رو خیلی تمرین کنید.
آموزش بک اند در Next js هم توی دوره نکست پیشرفته هست. توی دوره وبلاگ پیشرفته هم، ازش توی پروژه استفاده کردیم.
Next js چیست و مزیت های آن
نکست جی اس، فریمورکی هست که بر مبنای react.js نوشته شده و بک اند node js رو هم داره. سئو خیلی خوبی داره و علاوه بر اینا، سریعتر هم هست از ریکت. خلاصه مفید
راحت بودن آموزش و به کارگیری Next js نسبت به React js
اگه با ریکت جی اس کار کرده باشید، میدونید که یه سری سختی داره مثلا برای ساختن یه صفحه یا حتی برای ساختن یه navbar ساده، باید کلی عرق بریزید، اما nextjs اینا رو خیلی ساده تر کرده. مثلا نکست یه پوشه pages ( توی next js 13 معادل این پوشه میشه پوشه app) داره، هر فایل js یا jsx ی که توش میسازیم، میشه یه صفحه از وب سایت، به همین سادگی. به خاطر همین میگیم یکی از ویژگی های نکست جی اس، File base بودن هست. میتونید از دوره آموزش Next js رایگان با مرن فا و همچنین دوره های پروژه محور آموزش Next js با مرن فا هم برای آموزش نکست جی اس استفاده کنید.
آموزش سئو در react js و Next js
ببینید، react js خیلی کاربر پسنده، اما سئو اصلا نداره. همون طور که vue و angular که فریمورک های معروف دیگهی جاوااسکریپت هستن، سئو ندارن. به همین خاطر یه سری فریمورک دارای سئو واسه اینا زده شده. معادل ریکت، next js رو داریم، واسه ویو، nuxt js و معادل انگیولار، فریمورک angular universal رو داریم.
بررسی seo در Next js در جلسه دوم دوره آموزش Next js مقدماتی مرن فا که ابتدای همین صفحه قرار داشت توضیح داده شده. همچنین نکات تکمیلی این موضوع، در دوره سئو در نکست جی اس مرن فا هست که میتونید شرکت کنید.... اگه بخوام به صورت خلاصه بگم میشه پاسخ به این سوال
SSR چیست؟
ssr یا server side rendering به این معنی هست که زمانی که کاربری، آدرس صفحه ما رو در مرورگر میزنه، ریکوئست فرستاده میشه به بک اند، صفحه اونجا ساخته میشه و سپس صفحه ای که دارای کل اطلاعات هست به فرانت فرستاده میشه. به همین دلیل کراولر های گوگل که رتبه SEO به صفحاتتون میدن، با صفحه ی دارای کل اطلاعات مواجه میشن. در نتیجه رتبه سئو میگیرید. این در حالی هست که CSR این امتیاز رو نداره. در واقع تفاوت Csr و Ssr هم در همین هست. زمان گذاشته شدن دیتا در کد صفحه
آموزش مدیریت استیت ها( state managment ) در Next js
یکی از موارد بسیار مهم در Next js، مدیریت استیت ها هست. در واقع ما در نکست جی اس برای تعریف یک متغیر ساده از useState و یا const استفاده میکنیم. اما مشکل اینجاست که این متغیر یا استیت، فقط در همین کامپوننت قابل استفاده است. اگه مثلا ما بخواهیم از متغیر در یک کامپوننت دیگه در یک صفحه ی دیگه استفاده کنیم، این امکان وجود نداره.
راهکار این موضوع، استفاده از state managerهایی مثل Zustand و Redux و Context هست. برای استفاده از این دو، باید ابتدا یک مخزن متغیر تعریف کنیم، سپس برای دریافت مقدار آنها و یا تغییر مقدار آنها، تابع تعریف کنیم و در نهایت این توابع را در بخش های مختلف اپلیکیشن فراخوانی کنیم. آموزش کامل این مفاهیم نکست جی اسی در دوره نکست پیشرفته مرن فا موجود هست که میتونید ببینید.
پروژه دیفالت Next js 12پروژه دیفالت Next js 15
دیدگاه ها (141)
استاد یه مقدار در مورد احراز هویت میشه توضیح بدین؟ کلا چجوری میشه که توی سایت میتونیم بفهمیم که کسی که رفته به صفحه اکانت، کیه و اطلاعات مختص اون رو نمایش میدیم؟
سلام امیدوارم حالتون عالی باشه.
مکانیزمش اینجوریه که ما توی صفحه ثبت نام، از کاربر یه سری اطلاعات میگیریم. این اطلاعات رو میفرستیم به بک اند.
توی بک اند ( که مثلا میتونه پوشه API نکست جی اس باشه)، این اطلاعات رو ذخیره میکنیم توی دیتابیس. علاوه بر اون، با پکیج JWT، یه کد مثلا 80 کارکتری هم ایجاد میکنیم. توی این کد، یه سری اطلاعات به صورت رمزگذاری شده هست. مثلا آیدی کاربر
بعد این کد رو میفرستیم به فرانت و توی مرورگر کاربر به صورت کوکی ذخیره میکنیم.
حالا وقتی کاربر میره به صفحه اکانت و ریکوئست میزنه برای دریافت اطلاعات، ما با توجه اون کوکی، آیدیش رو پیدا میکنیم و اطلاعات خودش رو برمیگردونیم.
پیشنهاد میکنم فروشگاه فایل رو شرکت کنین. اونجا یکی از مواردی که کامل توضیح داده شده همینه.
سلام
استاد تفاوت داینامیک روت و کچ آل روت چیه دقیقا؟
سلام امیدوارم حالتون عالی باشه.
نحوه تعریف و موارد استفادهشون متفاوته.
برای تعریف داینامیک ذوت در next js باید یه پوشه تهریف کنین و اسمش رو توی کروشه میزاریم. [slug]
برای تعريف کچ آل روت باید یه پوشه تعریف کنین و اسمش رو توی کروشه بزارین. قبل اسمش هم باید 3 تا نقطه بزارین. [slug...]
در مورد استفاده هم
داینامیک روت، برای تعریف یه لایه پایین تر استفاده میشه mernfa.ir/courses/course1
ولی کچ آل روتز برای بینهایت لایه پایین تر استفاده میشه. mernfa.ir/courses/co1/co/co1
آموزشش توی دوره نکست پیشرفته هست.
تشکر بابت دوره های خوبتون. واقعا توی دوره فروشگاه فایل با next.js تون همه چیز پوشش داده شده.
سلام. خوشحالم که براتون مفید بودن دوره ها... :)
استاد برای گرفتن شماره تلفن کاربر، توی یه سری از فرم ها میبینیم که پیش شماره کشور هست. پرچم کشور هست و... مثلا برای ایران +98 هستش. اینا رو چجوری راه میندازن؟ چون تست کردم. با تگ select نمیشه.
سلام. امیدوارم حالتون عالی باشه.
این موضوع توی دوره (( مینی پروژه تیلویندی 2 )) به کمک next.js و tailwind.css تدریس شده.
https://mernfa.ir/courses/tailwind-mini-project-2
قطعا میتونه کمک کننده باشه براتون...
سلام استاد
این خطا رو دارم :
Error: Cannot find module 'styled-jsx/package.json'
نکست جی اس 15.0.1
متشکر
سلام. امیدوارم حالتون عالی باشه.
فکر میکنم مشکل از نسخه نکست جی اس هست.
لطفا یه پروژه نکست جدید نصب کنین. با جدیدترین نسخه.
سپس فایل های این پروژه رو منتقل کنین به پروژه جدید.
احتمال زیاد مشکلتون حل میشه.
اگه حل نشد، لطفا پروژه رو روی گیت هاب آپلود بکنین. پروژه رو open بزارین یا اینکه که به من دسترسی بدید. بررسی میکنم. مشکلی نیست.
https://github.com/soheil-jafari-nextjs
میتونین آدرس پروژه آپلود شده رو توی تیکت برام ارسال کنین....
استاد انصافا دمتون گرم.
یه سایت زدم و دنبال بحث استراکچر دیتا توی نکست جی اس میگشتم. دیدم قبلا یه دوره سئو در next js ضبط کردید و این موضوع رو هم توش آموزش دادید.
مرن فا واقعا توی نکست جی اس بهترینه...
سلام. تشکر از شما.
آره دیگه. چون به صورت تخصصی روی نکست جی اس کار میکنم، سعی کردم عموم موارد مورد نیاز این فریمورک رو توی آموزش ها بگم. خوشحالم که براتون مفید بوده.
اگه دوست داشتین یه تیکت بزنین و لینک سایتتون رو بفرستین. یه نگاهی بکنم. شاید یه نکته ای دیدم که کمکتون بکنه... :)
سلام. من میخوام بک اند نکست جی اس رو یاد بگیرم. مهمه که کامل اپ روتر باشه. با این سیستم دوره ای دارین؟
سلام. وقتتون بخیر. امیدوارم حالتون عالی باشه.
بله.
آموزش تئوریش هاش توی دوره نکست جی اس پیشرفته هست:
https://mernfa.ir/courses/next-pro-advanced
آموزش پروژه محورش هم توی دوره وبلاگ پیشرفته هست:
https://mernfa.ir/courses/file-shop-course-with-next-and-nodejs
اگه بخوام یه مقدار خدمتتون توضیح بدم اینجوریه که بک اند در پروژه های نکست جی اسی، همیشه توی پوشه api پروژه طراحی میشه.
به ازای هر کنترلر بک اندی باید یه فایل route.ts ایجاد کنیم و موارد رو اونجا بنویسیم.
برای یک سری فیلترهای میانی هم میشه از فایل middleware.ts استفاده کرد...
پیشنهاد میکنم معرفی دوره ها رو ببینین...
استاد چطوری میتونیم مگا منو بسازیم
لطفاً یه ویدیو بسایزبن درموردش
سلام. وقتتون بخیر. امیدوارم حالتون عالی باشه.
کلا منوهای چند لایه مبحث جالبیه. میشه منو رو با یه لایه در نظر گرفت که ساده ترین نوعش هست. میشه منو رو آبشاری کرد که تا چند لایه زیر هم منو تعریف کرد. میشه هم مگامنو طراحی کرد.
در واقع شما وقتی میخواید مگا منو بساید، نمیتونین کلا یه منو طراحی کنین و از همون کد برای موبایل و دسکتاپ استفاده کنین. بلکه حتما باید دو تا کامپوننت جدا طراحی بکنین. یه مگا منو برای دسکتاپ و یه منو مثلا برای اندازه های پیکسل به پایین.
در مورد ساخت مگا منو: یه دوره توی مرن فا هست به اسم مینی پروژه تیلویندی یک. فکر میکنم میتونه کمک کننده باشه.
https://mernfa.ir/courses/tailwind-mini-project-1
یه پروژه آماده سایت ماهیگیری( فول استک با next.js ) هم به زودی منتشر میشه، اونجا هم داریمش که میتونین استفاده کنین.
واقعا سطح دوره ها بالاست. مخصوصا فروشگاه فایل تشکر از شما.
سلام. خوشحالم که براتون مفید بوده.
تشکر از شما...
استاد در مورد بحث رمز یک بار مصرف میشه یه مقدار توضیح بدید؟ چجوری باید پیاده سازیش کنیم؟
سلام. امیدوارم حالتون عالی باشه.
رمز یک بار مصرف یا OTP برای احراز هویت کوتاه مدت استفاده میشه.
یعنی اینکه وقتی کاربر فرم لاگین یا رجیستر رو پر میکنه، یه کد براش پیامک میشه. همچنین این کد رو، باید توی دیتابیستون به همراه شماره تلفن کاربر ذخیره کنید. کاربر باید کد رو وارد سایت بکنه تا اکانتش اوکی بشه. در غیر این صورت، خیر.
حالا نکته مهم سیستم OTP دو تا چیز هست.
1. کد باید تایمر داشته باشه. یعنی شما باید کد رو به صورتی ایجاد بکنید که خودبهخود، کد بعد از دو دقیقه از دیتابیس حذف بشه. در نتیجه اگه کاربر بعد دو دقیقه کد رو وارد کنه، اکسپایر شده در نظرش میگیره.
2. اگه کاربر کد درست رو در کمتر از 2 دقیقه وارد کرد، باید بهش توکن بدیم.
شما باید این توکن رو به صورتی در مرورگر کاربر ذخیره کنید که تا وقتی برنامه مرورگر کاربر باز هست، این توکن وجود داشته باشه. با بستن مرورگر، این توکن هم خودبهخود حذف بشه.
بحث OTP رو توی دوره احراز با next.js خدمتتون آموزش دادم. میتونین اونجا هم این موضوع رو ببینین
https://mernfa.ir/courses/nextjs-authentication