آموزش MERN Stack

149,000 تومان
493 دانشجو
به روز رسانی: ۲۰ خرداد ۱۳۹۹
۹ ساعت و ۴۵ دقیقه
ثبت نام در دوره

MERN Stack یک روش توسعه نرم افزار است. در این روش، با استفاده از تکنولوژی‌های MongoDB ،Express ،React و Node یک نرم افزار را توسعه می‌دهیم. تکنولوژی‌های استفاده شده در MERN براساس زبان برنامه نویسی جاوااسکریپت هستند و برای توسعه برنامه‌های پیشرفته وب استفاده می‌شوند. می‌توان گفت درک زبان برنامه نویسی جاوااسکریپت، اصلی‌ترین پیش‌نیاز برای یادگیری توسعه نرم افزار با MERN است. همین موضوع باعث شده است تا MERN بسیار محبوب شود و در حال پیشرفت باشد. کسانی که در این زمینه متخصص هستند توسعه دهنده Full Stack جاوااسکریپت به شمار می‌آیند.

قطعا هر چه قدر دانش قبلی شما برای تکنولوژی‌های مربوط به MERN بیشتر باشد، درک مفاهیم این دوره ساده‌تر خواهد بود. ما برای درک درست مفاهیم برنامه نویسی و زبان جاوااسکریپت، دوره جامع و پیشرفته جاوااسکریپت فرانت کست را پیشنهاد می‌کنیم. در طول دوره با نگاهی دقیق‌تر مفاهیم مربوط به Node ،React و MongoDB را از ابتدا بررسی خواهیم کرد.

بازار کار MERN Stack

توسعه دهنده Full Stack وب جزء مشاغلی به شمار می‌آید که در حال حاضر بسیار مورد توجه شرکت‌های مختلف قرار گرفته است. کسانی که توسعه دهنده Full Stack  جاوااسکریپت هستند هم در بخش فرانت‌اند و هم در بخش بک‌اند تخصص‌های لازم را دارند. از این رو، لازم نیست تا تیم چند نفره متشکل از متخصصین مختلف تشکیل شود تا یک پروژه انجام شود. به همین دلیل، تقاضای بیشتری برای متخصصین Full Stack وجود دارد.

مزیت دیگر این است که امکان دور کاری برای بسیاری از شرکت‌های خوب داخلی و خارجی فراهم شده است. همین موضوع کمک می‌کند تا تعداد موقعیت‌های شغلی بیشتر شود و محدودیت‌های مکانی اهمیتی نداشته باشد. همچنین توسعه دهندگان Full Stack وب می‌توانند به صورت برنامه نویس فریلنسر، نسبت به انجام پروژه‌های مختلف اقدام کنند و از درآمدهای بسیار خوب بهره‌مند شوند.

دوره جامع MERN Stack

درک مفاهیم برنامه نویسی با انجام تمرین‌های متعدد به شکل دقیق‌تری انجام می‌گیرد. از این رو، در فرانت کست همه دوره‌ها را به شکل پروژه محور طراحی شده‌اند. در طول دوره جامع MERN Stack با چالش‌های متعدد رو به رو خواهیم شد، تمرین‌های زیادی را باهم انجام خواهیم داد و در نهایت یک پروژه اصلی و واقعی خواهیم داشت. همچنین براساس بازخوردهایی که از دانشجویان دریافت می‌کنیم، پروژه‌های مختلف را بصورت رایگان به دوره اضافه خواهیم کرد.

هدف ما در فرانت کست این است که دانشجویان به ساده‌ترین زبان ممکن برنامه نویسی را یاد بگیرند. از این رو دوره جامع MERN Stack به شکل قدم به قدم طراحی شده است و آموزش مفاهیم از ساده‌ترین و پایه‌ای‌ترین مفاهیم شروع شده و تا قسمت‌های پیشرفته‌تر ادامه پیدا می‌کند.

پس از اتمام این دوره شما تمامی مفاهیم تخصصی لازم برای این که به یک توسعه دهنده Full Stack جاوااسکریپت تبدیل شوید را یاد می‌گیرید و می‌توانید به راحتی وارد بازار کار شوید. به همین دلیل سرمایه گذاری روی یادگیری مفاهیم MERN می‌تواند یک انتخاب بسیار منطقی و درست باشد.

مدرس دوره

مسعود صدری مدرس و توسعه دهنده نرم افزار، فارغ‌ التحصیل از رشته مهندسی نرم‌افزار، برنامه نویسی را از سال ۱۳۹۱ به شکل حرفه‌ای شروع کرده است. او در سال‌هایی که در حوزه برنامه نویسی حرفه‌ای فعالیت داشته، با شرکت های نرم افزاری و تیم‌های استارتاپی همکاری داشته و بیشتر بر روی فریلنسیگ تمرکز کرده است. او سال‌ها به عنوان برنامه نویس فریلنسر مشغول به کار بوده و همین امر باعث شده تا نیازهای بازار کار را به خوبی بشناسد و تجربه‌های زیادی در این زمینه کسب کند.

مسعود صدری تدریس را از سال ۱۳۹۴ به شکل حرفه‌ای، با آموزشگاه مجتمع فنی تهران شروع کرده و همیشه جزء یکی از برترین مدرسان برنامه نویسی بوده است. سپس تصمیم به برگزاری دوره‌های برنامه نویسی در دانشکده مهندسی برق و کامپیوتر دانشگاه تبریز گرفته که مورد استقبال بسیار خوب دانشجویان قرار گرفت. فعالیت‌های او در دانشگاه تبریز، به عنوان مدرس دانشگاه ادامه داشته و اکنون تدریس کارگاه‌های مبانی برنامه سازی و برنامه سازی پیشرفته را برعهده دارد. نهایتا از سال ۱۳۹۷ تدریس آنلاین هم به لیست فعالیت‌های آموزشی او اضافه شده است.

تمام تلاش مسعود صدری این است که نیازهای بازار کار را بصورت دقیق تحلیل کند و براساس روند پیشرفت محبوبیت یک تکنولوژی و نیازهای بازار کار جامع‌ترین و به‌روزترین سرفصل‌ها را برای تکنولوژی‌های مختلف آماده کند تا افرادی که به این حوزه علاقمند هستند بتوانند مطالب را به بهترین و ساده‌ترین زبان ممکن یاد بگیرند و بطور مستقیم وارد بازار کار شوند.

پشتیبانی دوره

یکی از موضوعات بسیار مهم در فرانت کست پشتیبانی دوره‌ها می‌باشد که برعهده مدرس دوره است. مدرس به عنوان یک منتور از ابتدای مسیر قدم به قدم، تا زمانی که دانشجو تمامی مطالب را بصورت کامل یاد بگیرد، همراه اوست. ما بر این باور هستیم که هیچ شخصی بهتر از مدرس دوره نمی‌تواند پاسخگوی سوالات دانشجویان باشد. از این رو، در فرانت کست مدرس خود را موظف می‌داند تا در تمامی روزهای هفته، به جز روزهای تعطیل، سوالات دانشجویان را بررسی کند. این ارتباط مستقیم از طریق شماره واتس‌اپ ۰۹۳۵۵۴۹۱۴۸۱ و یا اکانت اینستاگرام @masoodsadri انجام می‌گیرد.

گارانتی بازگشت وجه

ما در فرانت کست به دوره‌ها و محتوایی که آماده شده است ایمان کامل داریم و معتقد هستیم اگر دانشجویان براساس مسیر یادگیری که آماده کرده‌ایم پیش بروند قطعا به هدفی که دارند دست پیدا می‌کنند. مهم‌ترین هدف ما این است که دانشجویان در کمال آرامش و بدون کوچکترین استرسی یادگیری را شروع کنند. به همین جهت، گارانتی بازگشت وجه برای تمامی دوره‌های غیررایگان درنظر گرفته‌ایم. اگر شما به هر دلیل از ادامه دادن مسیر منصرف شوید، می‌توانید تا ۷ روز بعد از ثبت‌ نام برای بازگشت وجه درخواست بدهید. ما بدون هیچ سوالی تمام هزینه‌ای که برای یادگیری خود سرمایه‌گذاری کرده بودید را عیناً به حساب شما بازمی‌گردانیم.

سرفصل‌ها:

معرفی دوره. بررسی 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 – مشاهده ویدیو

دیدگاه‌ها:

Mehdi

تیر 6, 1401  در  4:51 ب.ظ

سلام استاد صدری عزیز.
روزتون بخیر.
استاد میشه مبحث سوکت نویسی رو هم تحت عنوان یک آپدیت به دوره اضافه کنید؟!

مسعود صدری

تیر 6, 1401  در  6:03 ب.ظ

سلام
وقتتون بخیر.
فعلا برنامه‌ای برای به روز رسانی این دوره نداریم، احتما مباحث Socket رو به دوره جامع Node اضافه می‌کنیم.

محمود گیلک

اردیبهشت 26, 1401  در  9:15 ب.ظ

برای این دوره، باید nodejs رو بلد باشیم؟

مسعود صدری

اردیبهشت 26, 1401  در  11:45 ب.ظ

سلام
نه نیازی نیست، مفاهیم Node رو از ابتدا مرور می‌کنیم.

yusef7884

اردیبهشت 3, 1401  در  11:37 ق.ظ

جناب صدری واقعا دوره مفیدی بود برای من . روش تدریس شما به نظر من بهترینه . به سادترین شکل ممکن مطالب رو به دانشجو انتقال میدید. این ارزش کار شما رو خاص جلو میده . قدردان شما هستم . برای آینده پیش رو چند تا پیشنهاد دارم که براتون حتما میفرستم . سپاس بیکران شهنازی

مسعود صدری

اردیبهشت 3, 1401  در  11:42 ق.ظ

سلام
خیلی ممنونم از لطفتون. قطعا برای من باعث افتخاره.
منتظر پیشنهادهای شما هستم.

مهدی عندلیب

اسفند 16, 1400  در  12:23 ب.ظ

سلام استاد میخواستم بدونم ایا امکانش هست که در اپدیت جدید به این شکل باشه که کاربران بیان یک محتوایی وارد کنند مثلا مشخصات یک کتاب مثلا نام/مولف/عکس/ویدیو/نویسنده/ و ……

بعد زمانی که ارسال میکنند به ادمین پیامک/ایمیل ارسال شود و بعد در سایت به صورت داینامیک بشینه و کاربران دیگه ببینند که این کتاب توسط چه کسی ارسال شده است و بتوانند لایک کنند/کامنت بزارند و بتونیم دسته بندی کتاب هارو داشته باشیم….

فکر کنم با این کار کلی محتوا جدید میتونیم یاد بگیریم

با تشکر از شما

مسعود صدری

اسفند 16, 1400  در  4:30 ب.ظ

سلام
ممنونم برای پیشنهادتون.
لطفا در نظر داشته باشید که پروژه یک دوره تا هر اندازه می‌تونه پیچیده بشه.
اما هدف اصلی ما این هست که مطالب رو به شکلی بررسی کنیم که دانشجو بعد از اتمام دوره قادر باشه پروژه‌هایی با موضوعات متنوع رو پیاده سازی کنه.

mostafa

دی 26, 1400  در  1:40 ب.ظ

سلام من میخواستم برای این دوره ثبت نام کنم ولی دیدم همین سایت فرانت کست رو با ورد پرس ساختید میخواستم بپرسم چرا از react استفاده نکردید؟
ممنون

مسعود صدری

دی 26, 1400  در  3:41 ب.ظ

سلام
تمرکز من در فرانت کست روی ساختن محتوای آموزشی برنامه نویسی هست.
برای این موضوع باید از پلتفرمی استفاده کرد که به بهترین و ساده‌ترین شکل محتوا رو در اختیار دانشجوها قرار بدیم.
اگر این پلتفرم رو به صورت یک سیستم اختصاصی پیاده سازی کنیم، نیاز به نگهداری و توسعه داره و باعث می‌شه نتونیم همه زمان رو به ساختن محتوا اختصاص بدیم.
در صورتی که استفاده از وردپرس کمترین زمان رو می‌گیره و کمک می‌کنه تا تمرکز ما برای کار اصلیمون بمونه.
پیشنهادم به شما این هست که اگر تصمیم دارید یک تکنولوژی رو یاد بگیرید، برای دلیل یادگیری اون تحقیق کنید.
همین طور برای ثبت نام برای یک دوره بهتر هست سرفصل‌ها، نحوه تدریس و رزومه مدرس رو بررسی کنید.
باز هم اگر سوالی بود در خدمتم.

مهدی حسنی

آذر 25, 1400  در  10:26 ب.ظ

من همچنان منتظر اپدیت بزرگ این دوره هستم
قدیمی شده نسبتن
مفاهیمی جدیدتر میشه اورد و پروژه های نسبتن چالش برانگیز تر

مسعود صدری

آذر 25, 1400  در  11:07 ب.ظ

سلام
به روز رسانی این دوره در برنامه امسالم نیست و احتمالا سال بعد انجام می‌شه.
البته مفاهیم تغییری نداشتن و به روز رسانی رو با یک پروژه خواهیم داشت.

کاربر

شهریور 24, 1400  در  8:07 ب.ظ

سلام وقتتون بخیر
توی این دوره باید این ۴ مهارت رو حتما بلد باشیم بیایم دوره رو شروع کنیم یا اینکه حین دوره تمامی موارد تدریس میشه؟

مسعود صدری

شهریور 24, 1400  در  10:40 ب.ظ

سلام
بله همه موارد از ابتدا تدریس می‌شن.
هدف اصلی درک بهتر چالش‌های مربوط به توسعه و استفاده از API هست.

A.Mrd

تیر 18, 1400  در  9:34 ب.ظ

و میشه لطف کنید و روی این دوره هم تخفیف بذارید؟

مسعود صدری

تیر 19, 1400  در  5:53 ق.ظ

فعلا برای دوره‌ها تخفیف نداریم.

A.Mrd

تیر 18, 1400  در  9:31 ب.ظ

سلام جناب صدری وقت‌تون بخیر.
ممنون بابت آموزش‌های فوق العادتون.
من آموزش های جاوااسکریپت و ری‌اکت شما رو دیدم و خیلی به جاوااسکریپت علاقه مند شدم. الان می‌خوام یک فول استک جاوااسکریپت بشم. به نظر شما این دوره ی MERN رو تهیه کنم یا Node.js؟ می‌خوام به اکثر مفاهیم node هم مثل ری‌اکت مسلط بشم.

مسعود صدری

تیر 19, 1400  در  5:53 ق.ظ

سلام
خیلی ممنونم.
خوشحالم که دوره‌ها براتون مفید بودن.
اگر تصمیم دارید مفاهیم Node.js رو مسلط بشید، دوره جامع Node.js رو پیشنهاد می‌کنم بهتون.
این دوره در حال بازتولید هست و با آخرین به روز رسانی Node.js پیش می‌ریم. همین طور تمرکز زیادی روی چالش‌های برنامه نویسی داریم.
دوره جامع MERN Stack برای دوستانی مناسب هست که تصمیم دارند ارتباط React و Node رو بهتر درک کنند و به مفاهیم مربوط به API مسلط بشن.

محمد

تیر 12, 1400  در  10:04 ق.ظ

سلام، استاد عزیز هنوز پروژه اصلی رو اضافه نکردید؟؟

مسعود صدری

تیر 12, 1400  در  12:49 ب.ظ

سلام
این دوره یک پروژه اصلی داره که دموی اون رو در قسمت ۱۱۸ می‌تونید ببیند.
منظورتون از پروژه اصلی دقیقا چی هست؟

افزودن دیدگاه جدید