توضیحات
MERN Stack یک روش توسعه نرم افزار است. در این روش، با استفاده از تکنولوژیهای ReactJS، Express، MongoDB و NodeJS یک نرم افزار را توسعه میدهیم. در توسعه قسمتهای فرانتاند و بکاند، مهمترین پارامتر زبان برنامه نویسی جاوااسکریپت است. به این دلیل که کتابخانه ReactJS و چهارچوب Express با استفاده از این زبان ساخته شدهاند. پس میتوان گفت درک زبان برنامه نویسی جاوااسکریپت، اصلیترین پیشنیاز برای یادگیری توسعه نرم افزار با MERN است.
دوره MERN Stack فرانت کست، با هدف بررسی تمام مباحث مربوط به این تکنولوژیها طراحی شده است. بعد از یادگیری این دوره، شما به عنوان توسعه دهنده Full Stack جاوااسکریپت میتوانید وارد بازار کار شوید. در طول این دوره، با بررسی دقیق مفاهیم مربوط به MERN و انجام چالشهای متعدد، یک نرم افزار را به صورت کامل توسعه خواهیم داد.
طبیعتا هر چه قدر دانش قبلی شما برای تکنولوژیهای مربوط به MERN بیشتر باشد، درک مفاهیم این دوره سادهتر خواهد بود. با این حال، در طول دوره با نگاهی دقیقتر مفاهیم مربوط به NodeJS، ReactJS و MongoDB را از ابتدا بررسی خواهیم کرد.
شما میتوانید بعد از ثبت نام برای دوره فایلهای مربوط به چالشها و ویدیوهای دوره را از پنل کاربری خود دانلود کنید.
سرفصلها:
معرفی دوره. بررسی MERN Stack
۱. مسیر یادگیری و سرفصلهای دوره – مشاهده ویدیو
۲. یادگیری دقیقتر مفاهیم – مشاهده ویدیو
۳. معماری نرم افزاری MERN – مشاهده ویدیو
۴. نصب و بررسی ساختار بسته Create React App – مشاهده ویدیو
۵. درک بهتر دستورات JSX
۶. کامپوننتها در ReactJS
۷. استفاده از کامپوننتهای متعدد
۸. بررسی Props در ReactJS
۹. نمایش آیتمهای داینامیک در کامپوننت
۱۰. مدیریت Eventها
۱۱. ارتباط کامپوننتهای Parent و Child
۱۲. مدیریت State با تابع useState
۱۳. درک بهتر State در ReactJS
۱۴. دریافت اطلاعات از کاربر
۱۵. استفاده از React Router در پروژه اصلی
۱۶. توسعه کامپوننتها و صفحات مربوط به کاربران
۱۷. توسعه کامپوننت یک کاربر
۱۸. ایجاد لینک یکتا برای صفحه هر کاربر
۱۹. کامپوننت Navigation
۲۰. کامپوننت NavLink در React Router
۲۱. توسعه کامپوننتها و صفحات مربوط به پستها
۲۲. توسعه کامپوننت یک پست
۲۳. مقادیر متغیر در آدرس صفحات
۲۴. المنتهای داینامیک برای فرم
۲۵. توسعه کامپوننت Button
۲۶. استفاده از useReducer برای مدیریت Stateها
۲۷. بررسی روشهای اعتبارسنجی
۲۸. استفاده از توابع اعتبارسنجی در فرم اضافه کردن پست
۲۹. اضافه کردن Inputهای متعدد
۳۰. اعتبارسنجی فرم و مدیریت Stateها
۳۱. تکمیل فرم اضافه کردن پست
۳۲. استفاده از Custom Hook برای فرمها
۳۳. توسعه صفحه ورود کاربر
۳۴. اضافه کردن فرم عضویت
۳۵. توسعه Stateهای فرم عضویت
۳۶. بررسی Context در ReactJS
۳۷. استفاده از Context برای احراز هویت کاربر
۳۸. تعیین سطح دسترسی برای Routeها
۳۹. تکمیل قسمت احراز هویت کاربر در فرانتاند
۴۰. بررسی قسمت فرانتاند پروژه اصلی – مشاهده ویدیو
۴۱. بررسی و استفاده از NodeJS
۴۲. کار با فایلها در NodeJS
۴۳. استفاده از http برای راه اندازی سرور
۴۴. نصب و راه اندازی چهارچوب Express
۴۵. نصب Nodemon و بررسی مسیرهای نرم افزار
۴۶. اضافه کردن Routeهای اصلی
۴۷. توسعه Routeهای داینامیک برای یک پست
۴۸. توسعه Routeهای داینامیک برای پستهای یک کاربر
۴۹. بررسی پیغامهای خطا
۵۰. توسعه Model برای مدیریت خطا
۵۱. افزودن توابع Controller
۵۲. بررسی و استفاده از Body Parser
۵۳. ارسال درخواستهای POST
۵۴. استفاده از Postman برای کار با APIها
۵۵. مدیریت خطا برای Routeها
۵۶. توسعه تابع حذف پست
۵۷. افزودن Routeهای قسمت کاربران
۵۸. توسعه تابع عضویت کاربر
۵۹. توسعه تابع ورود کاربر
۶۰. اعتبارسنجی فرم افزودن پست
۶۱. اعتبار سنجی قسمت عضویت کاربر
۶۲. بررسی قسمت APIهای بکاند پروژه اصلی
۶۳. بررسی پایگاه دادههای NoSQL و SQL
۶۴. نصب و راه اندازی MongoDB
۶۵. اتصال بکاند به پایگاه داده
۶۶. افزودن آیتم به پایگاه داده
۶۷. دریافت اطلاعات از پایگاه داده
۶۸. بررسی و نصب Mongoose
۶۹. درک بهتر Model و ساختار دادهها
۷۰. توسعه یک آیتم بر اساس Model
۷۱. افزودن اطلاعات با استفاده از Mongoose
۷۲. دریافت اطلاعات با استفاده از Mongoose
۷۳. اتصال بکاند پروژه اصلی به پایگاه داده
۷۴. توسعه Schema برای پستها
۷۵. ذخیره پست در پایگاه داده
۷۶. دریافت پست از پایگاه داده
۷۷. دریافت پستهای کاربر از پایگاه داده
۷۸. حذف یک پست از پایگاه داده
۷۹. توسعه Schema برای کاربر
۸۰. توسعه قسمت عضویت کاربر
۸۱. توسعه قسمت ورود کاربر
۸۲. دریافت مشخصات کاربران از پایگاه داده
۸۳. بررسی ارتباط Modelهای کاربر و پست
۸۴. ذخیره پستهای یک کاربر
۸۵. حذف پستهای یک کاربر
۸۶. بررسی بکاند پروژه اصلی
۸۷. ارسال درخواست POST از فرانتاند
۸۸. بررسی خطا CORS
۸۹. مدیریت خطا در فرانتاند
۹۰. ارسال درخواست ورود کاربر
۹۱. دریافت و نمایش تمام کاربران
۹۲. توسعه Custom Hook برای درخواستهای HTTP
۹۳. مدیریت درخواستهای HTTP
۹۴. استفاده از Custom Hook
۹۵. نمایش کاربران با استفاده از Custom Hook
۹۶. افزودن پست
۹۷. استفاده از useHistory برای Redirect کاربر
۹۸. نمایش پستها بر اساس ID کاربر
۹۹. حذف پست
۱۰۰. توسعه لینک پستهای کاربر
۱۰۱. توسعه کامپوننت آپلود تصویر
۱۰۲. استفاده از کامپوننت آپلود تصویر
۱۰۳. استفاده از Multer برای آپلود فایل در بکاند
۱۰۴. فیلتر کردن فایلها در بکاند
۱۰۵. ارسال فایل از فرانتاند به بکاند
۱۰۶. دریافت و ایجاد آدرس فایل در بکاند
۱۰۷. نمایش فایل در فرانتاند
۱۰۸. افزودن آپلود فایل به قسمت اضافه کردن پست
۱۰۹. بررسی نحوه کار قسمت احراز هویت
۱۱۰. استفاده از الگوریتم Hash برای رمزهای عبور
۱۱۱. ورود کاربر با استفاده از رمزهای Hash شده
۱۱۲. توسعه Token در بکاند
۱۱۳. استفاده از Token برای تعیین سطوح دسترسی
۱۱۴. استفاده از Token در قسمت فرانتاند
۱۱۵. حذف پست با استفاده از Token
۱۱۶. ذخیره Token در Local Storage
۱۱۷. استفاده از Local Storage برای Auto Login
۱۱۸. بررسی پروژه دوره جامع MERN Stack – مشاهده ویدیو
68 پاسخ به “دوره جامع MERN Stack”
درود بر شما
ایا این دوره و مباحث و تکنولوژی هایی که طی دوره تدریس میشه یک پروژه فروشگاهی رو هم پوشش میده؟
یهنی با دیدن این دوره و کار کردن با مباحثش میشه بعدا با توجه به همینا یک پروژه فروشگاهی رو استارت زد؟
سلام
من سعی کردم ساختار پروژه اصلی دوره به صورت کاملا داینامیک باشه.
به این معنی که شما بعد از یادگیری مفاهیم این دوره بتونید هر پروژهای رو پیاده سازی کنید.
البته به روز رسانی بعدی این دوره پیاده سازی یک فروشگاه اینترنتی با استفاده از Node ،React و MongoDB هست.
سلام
از سایت خوبتون و خسته نباشید
مباحث شما خیلی بروز هست جای تقدیر داره و در مقایسه با بقیه آموزش ها در کشور به نظر من رتبه اول هستش اما یه چیزی بهنظر کم و الان دیگه یه چیز بدیهی در پروژه ها هست
refresh_token و Access_token برای کاربر
ممنون میشم آپدیتی در دوره انجام بدید که هم سمت backend و هم فرانت گفته بشه.
سلام
ممنون از شما، قطعا برای من باعث افتخار هست.
در طول دوره سعی کردم چالشهای متنوعی رو برای درک بهتر کار با Token در فرانتاند و بکاند بررسی کنیم.
ممنونم از پیشنهادتون و حتما برنامه ریزی میکنم.
سلام استاد
وقتتون بخیر
لطفا نحوه آپلود پروژه روی سرور رو هم بعنوان بروزرسانی دوره درنظر بگیرین.
ممنون
سلام
حتما.
درود بر شما
امکان داره در پروژه هایی که تعریف می کنید انواع درگاه پرداخت داخلی و خارجی پیاده سازی کنید با در نظر گرفتن نرخ تبدیل ارز ها به یکدیگر
مثال :
درگاه ایرانی : https://www.zarinpal.com/
درگاه خارجی : https://www.wmtransfer.com/
درگاه ارز مجازی ایرانی : https://jeeb.io/
درگاه ارزمجاری خارجی : https://www.coinbase.com/
درگاه چند ارزی : https://yekpay.com/
سلام
این دوره به زودی با یک پروژه جدید که یک فروشگاه اینترنتی هست به روز رسانی میشه.
سعی میکنم یکی از درگاههای ایرانی رو هم در توسعه پروژه در نظر بگیرم.
با سلام،
اگه بحث deploy کردن روی یک سرور هم آموزش بدید ممنون میشم.
و اینکه چطور میشه دخواست های api از روی تب network inspect کروم مخفی کرد و یا اصلا نمایش نداد
سلام
اولین آپدیت این دوره موضوع Deploy هست.
انشاالله به زودی آماده میشه.
پس پیشنهادتون دوره نود هست
چون تقریبا میشه گفت با context وReducer و درخواست ها اینا رو میدونم
بله اگر مفاهیمی که گفتم رو مسلط هستید بکاند و توسعه API رو یاد بگیرید کافی هست.
تشکر از پاسختون
فقط اینکه من ریکت رو تا حد قابل قبولی کار کردم و اگه دوره نود رو بگیرم توی مچ کردن این دوتا مشکل نمیخورم؟
خواهش میکنم
باید مفاهیمی مثل Context و مدیریت درخواستهای HTTP در قسمت کلاینت رو مسلط باشید.
سلام میخواستم بدونم با این دوره میشه یک فروشگاه هم پیاده سازی کرد
یا پیشنهاد میدید همون دوره نود رو امتحان کنم
سلام
پروژه اصلی این دوره یک شبکه اجتماعی هست ولی ساختار پروژه به شکلی طراحی شده که میتونید به موضوعهای مختلف تغییر بدید.
پیشنهاد میکنم ویدیوی بررسی پروژه نهایی رو ببینید، اونجا ساختار کدها رو بررسی کردیم.
هدف اصلی این هست که شما بعد از یادگیری دورهها، هر پروژهای رو بتونید پیاده سازی کنید.
اگر برنامه شما یادگیری جامع بکاند هست، دوره جامع NodeJS رو بهتون پیشنهاد میکنم.
ممنونم استاد عزیز
فایل هارو نگاه کردم بر طرف شد
سپاس بابت این دوره بسیار بسیار عالی
ممنون از شما.
اگر سوالی بود در خدمتم.
استاد عزیز سورس پروژه چطور فرانت رو چطور میتونم داشته باشم داخل invalid کردن فرم به مشکل بر خوردم
سلام
سورس پروژه در قسمت دانلودهای پنل کاربری شما قرار داره.
اگر ارور دارید لطفا از ارور یک اسکرین شات توی واتساپ یا تلگرام برای من بفرستید.
یه مورد دیکه هم به نظرم استفاده از GraphQL هست.
ممنون
سلام جناب صدری
وقتتون بخیر
ممنونم بابت اینکه خیلی خوب مفاهیم رو توضیح میدین و سعی می کنین تمام مباحث آموزش داده بشه. ( برعکس خیلی از آموزشا که ساده ترین حالت رو فقط یاد میدن)
من دوره جاوااسکریپت و دوره mern stack رو تهیه کردم و منتظر دوره React/redux هستم.
ب نظرم با توحه به نیازی که توی بازار کار هست ی سری موارد هست که اگه به پروژه اضافه بشه بهتره :
– استفاده از refreshToken ،
– پروژه ری اکت بصورت ssr بشه ،
– امکان تعریف نقش ،
– امکان ارسال چند عکس در هنگام ثبت پست، و امکان مشاهده و حذف عکس های موجود در review عکس انتخاب شده ،
– ارسال پست ها و یوزر ها از سمت بک اند به صورت صفحه بندی شده و دریافت سمت فرنت بصورت صفحه بندی شده ،
– فیلتر کردن بر اساس مورد خاص ،
– دسته بندی درختی .
ممنون که بابت انتفال دانشتون ❤️
سلام
خیلی ممنونم از پیشنهادتون.
سعی میکنم مباحثی که گفتید رو حتما توی دوره بررسی کنم.
موفق باشید.
سلام جناب صدری متشکر از دوره های خوبتون.
ببخشید میخواستم بپرسم بعد از آموزش کامل جاوااسکریپت بهتره که بریم سراغ دوره های مستقل react شما و بعد بیایم روی دوره MERN یا مستقیما بعد از حاوا اسکریپت بیایم روی دوره MERN شما مشکلی به وجود نمیاد و همونقدر تخصصی ری اکت رو یاد میگیریم که توی دوره اصلی ری اکت یاد میگیریم؟
سلام
ممنون از لطفتون.
اگر هدفتون این هست که به صورت تخصصی React رو مسلط بشید، پیشنهاد میکنم حدود دو تا سه هفته صبر کنید تا دوره جامع و پیشرفته React/Redux منتشر بشه.
در زمان انتشار دوره تخفیف ویژه هم خواهیم داشت که توی کانال تلگرام فرانت کست اطلاع رسانی میکنم.
اما اگر تصمیم دارید در کنار React بتونید قسمت بکاند رو هم با استفاده از Node.js توسعه بدین، دوره جامع MERN Stack رو بهتون پیشنهاد میکنم.
قطعا در دوره جامع و پیشرفته React/Redux مفاهیم کاملتری رو برای React بررسی میکنیم.
سلام اگه اشتباه نکنم دریافت پست ها به صورت slice باشه تا بشه صفحه بندی کنیم مطالب. اگه حالت lazy load هم تدریس بشه عالیه
خیلی ممنون از پیشنهادتون.
اگر فرصت بشه اضافه میکنم، اگر نشد به عنوان به روز رسانی در نظر میگیرم.
سلام فکر میکنم منظورشون pagination باشه.
استفاده از pagination رو منظورم و مثلا تو صفحه اصلی ده تا پست باشه و یا با pagination بتونه صفحه بعدی رو ببینه
حتما، اگر هم فرصت نشد به عنوان به روز رسانی دوره در نظر میگیرم.
سلام مسعود جان
یه چیزی اگر امکان داره تو این دوره صفحه بندی هم آموزش بده خیلی کاربردی
مرسی
سلام
امکانش هست منظورتون رو یکم دقیقتر توضیح بدین؟
با سلام استاد اگر آموزش افزودن دسته بندی درختی برای مطالب هم به پروژه اضافه ممنون میشم چون تو خیلی از سایت ها دسته بندی نیاز هست
سلام
ممنون از پیشنهادتون.
سعی میکنم به عنوان به روز رسانیها در نظر بگیرم.
من جاوا اسکریپت رو با آموزش های شما شروع کردم و الان هم تونستم یک پروژه خیلی کوچیک رو برنامه نویسی کنم و از این بابت ممنونم
فقط یک سوال انتهای آموزش بیلد گرفتن از پروژه و دپلوی کردن اون رو روی یک فضای هاست رو هم اضافه میکنید ؟ چون دقیقا الان با این قسمت مشکل جدی دارم و آموزش خوبی داخل اینترنت پیدا نکردم
سلام
خیلی خوشحالم که تونستین پروژهای رو بسازید، قطعا این یعنی یادگیری واقعی.
انشاالله حتما بحث دیپلوی کردن پروژه رو خواهیم داشت.
سلام
برای کسی ک هنوز اشنایی با مونگو دی بی و اکسپرس نداره هم شروع این دوره رو پیشنهاد میدین و یا ایکه بهتر هست فعلا صبر کرد؟
سلام
بله، این دوره برای تمام قسمتها از مفاهیم پایهای شروع شده.
سلام استاد.استاد فایل زیپ جلسه ۲۳ رو باز میکنیم جلسه ۲۴ میاد و جلسه ۲۳ موجود نیست تو مجموعه
سلام
خیلی ممنون که اطلاع دادین.
اصلاح شد.
بنده لاراول خوب کار کردم / جاوا اسکریپتا از خودتون کامل یاد گرفتم / میخوام توی یه پروژم با نود کد بزنم / این دوره بهتره واسم یا دوره node ؟
کلا این دوره دقیقا چه تفاوتهایی با دوره node.js داره؟!
توی سرفصل ها آموزش mongoDB نمیبینم. کلا فقط کلاینت رو توضیح دادین با یه توضیح کوچیک راجع به نود جی اس
سلام
همون طور که میبینید این دوره در حال برگزاری هست و هر هفته ویدیوهای جدید اضافه میشوند.
قسمتهای مربوط به بکاند و پایگاه داده هم مثل قسمت فرانتاند به طور کامل بررسی میکنیم.
لطفا ویدیوی بررسی سرفصلهای دوره رو ببینید.
موفق باشین.
ببخشید مباحث مربوط به deploy هم گفته میشه؟
بله انشاالله.
سلام خسته نباشید برنامه ای برای Nuxt.js و Vue.js ندارید ؟
سلام
چرا انشاالله به زودی.
ممنونم از توضیحاتتون
حتما این دوره هم مثل دوره های دیگه شما بسیار عالی هستش
سلام عرض میکنم
میخواستم بپرسم جلسات بعدی این دوره هر چند روز اضافه میشه یا امکانش هست همه جلسات رد یک جا قرار بدید که سریعتر جلو بریم
باتشکر
سلام
جلسات این دوره مثل دوره جامع و پیشرفته جاوااسکریپت پیش میره. هفتهای حدود ۶ یا ۸ تا ویدیو.
این دوره در حال برگزاری هست، پس طبیعتا همه ویدیوها یک جا قرار نمیگیره.
مهمترین دلیل این موضوع این هست که دانشجو مرحله به مرحله پیش بره تا تمام مفاهیم رو به طور دقیق متوجه بشه.
خیلی عالیه
مثل بقیه دوره های خوبتون، حتماً این دوره جالب خواهد بود.
به دلیل پیچیدگی سینتکس و state ها در ری اکت رفتم سراغ vuejs اما بقیه بخشها رو لازم دارم و یک جورایی MEVN نیاز دارم 🙂 بنظرتون میتونم از این دوره استفاده کنم یا برای vuejs برنامه دیگه ای دارین؟
سلام
خیلی ممنونم از لطفتون.
برای Vue.js انشاالله یک دوره جامع خواهیم داشت.
نقش React در این دوره توسعه قسمت View هست. طبیعتا اگر به جای React از Vue.js یا Angular استفاده کنیم، فقط توسعه قسمت View متفاوت خواهد بود. اما مباحث مربوط به Node.js، Express و MongoDB مشترک هستن.
مسعودجان دورههات خیلی خوب هستند. هم صدای خوبی داری و هم خوب توضیح میدی.
ممنون از زحماتت.
فقط دوتا پیشنهاد:
۱. یه دورهی تست هم داشته باشید لطفا. چون من خیلی کم دیدم شرکتی که برای JS تست بنویسن. در حالی که خیلی مهم و کلیدیه.
۲. یه مقدار جزئیات رو بیشتر بگی و سرعت حرف زدنت رو هم بالا ببری خیلی بهتر میشه و توی گفتن مطالب، بیشتر تمرکز روی کاربردی بودن باشه (که تا حدود خیلی زیادی همینطوری بوده و من شخصن خیلی لذت بردم از دورههات)
دم شما گرم.
موفق باشی
سلام
خیلی ممنونم از لطفتون و مرسی بابت پیشنهاد خوبتون.
اتفاقا برای تست نویسی یک دوره مجزا در نظر گرفتم.
استاد دوست داریم
درود
لطفا در این دوره استفاده از کدها یا پروژه های آماده در گیت هابم اضافه کنید که چطور پروژه های آماده رو در پروژهای خودمان بگنجانیم و استفاده کنیم
سلام، این دوره پروژه محور هستش؟
سلام.
بله، این دوره همراه با چالشهای متعدد و پیاده سازی یک پروژه واقعی از ابتدا هست.
امکانش هست بقیه ی سرفصل ها رو هم قید کنید؟ ممنون
سلام
لطفا ویدیوی معرفی سرفصلها رو ببینید. اونجا کامل توضیح دادم.
سلام. چقدر دوره خوبی برگزار کردید. امیدوارم به خوبی بروزرسانی بشه. در این دوره SSR هم بگنجانید. ممنون
سلام
خیلی ممنونم از لطفتون.
SSR رو برای به روز رسانی دوره ReactJS در نظر دارم.
ممنون از دوره خوبتون.
در این دوره از Design Pattern ها هم استفاده میکنید؟
همینطور طریقه ایجاد رنامه های Real Time هم مثال میزنید؟
سلام
نه توی این دوره در مورد Design Pattern صحبت نمیشه.
پیشنهاد میکنم ویدیوی مربوط به توضیحات سرفصلها رو ببینید.
سلام. خواهشا جلساتی هم به Unit Testing اختصاص بدین تا همونطور که گفتین یه توسعه دهنده کامل بشیم. ممنون
سلام.
انشاالله در مورد تست یک دوره کامل خواهیم داشت.
سلام استاد
خیلی ممنون از برگزاری این دوره
توی دوره های جاوا اسکریپت پیشرفته شما و همچنین reactjs شما ثبت نام کردم و درحال یادگیری جاوا اسکریپت به صورت عمیق هستم…
با توضیحات شما پس ابتدا به جاوا اسکریپت مسلط بشیم و سپس دوره MERN رو شروع کنیم؟
سلام
ممنون که برای دورهها ثبت نام کردین.
بله، اول باید جاوااسکریپت رو یاد بگیرید و بعد MERN.