ساخت اپلیکیشن مقیاسپذیر MERN Stack با AWS (S3، SES، EC2) و Next.js
یاد بگیرید چگونه یک اپلیکیشن MERN Stack با قابلیت مقیاسپذیری بالا بسازید و از خدمات AWS مانند S3 برای ذخیرهسازی، SES برای ارسال ایمیل، EC2 برای میزبانی، IAM و موارد دیگر بهره ببرید. این دوره آموزشی جامع، شما را در مسیر ساخت پروژههای فول استک واقعی از پایه و با معماری قدرتمند راهنمایی میکند.
یادگیری توسعه فرانتاند با React JS
با استفاده از React JS، مهارتهای خود را در توسعه وب فرانتاند ارتقا دهید و رابطهای کاربری جذاب و واکنشگرا بسازید.
تسلط بر Next.js برای پروژههای پروداکشن
با Next.js، فریمورک قدرتمند React، اپلیکیشنهای خود را برای محیط پروداکشن بهینهسازی کنید و از مزایای رندرینگ سمت سرور (SSR) و تولید سایت استاتیک بهرهمند شوید.
توسعه بکاند با Node.js API
نحوه ساخت API قوی و مقیاسپذیر با Node.js و Express را بیاموزید و منطق سمت سرور اپلیکیشن MERN Stack خود را پیادهسازی کنید.
ساخت اپلیکیشن با قابلیت مقیاسپذیری بالا
اصول و تکنیکهای ساخت اپلیکیشنهایی را که قادر به مدیریت حجم عظیمی از کاربران و دادهها هستند، یاد بگیرید.
کار با AWS S3 برای آپلود فایل
با استفاده از Amazon S3 (Simple Storage Service)، ذخیرهسازی امن و مقیاسپذیر فایلها مانند تصاویر و اسناد را برای اپلیکیشن خود پیادهسازی کنید.
ارسال ایمیل با AWS SES
خدمات AWS SES (Simple Email Service) را برای ارسال ایمیلهای انبوه و شخصیسازی شده به کاربران خود به کار بگیرید.
میزبانی اپلیکیشن در ابر با AWS EC2
با استفاده از Amazon EC2 (Elastic Compute Cloud)، اپلیکیشن MERN Stack خود را در ابر راهاندازی و میزبانی کنید و از زیرساخت قدرتمند AWS بهرهمند شوید.
مدیریت دامنه با AWS Route 53
نحوه مدیریت DNS و دامنه اپلیکیشن خود را با استفاده از سرویس Route 53 آمازون یاد بگیرید.
مدیریت هویت و دسترسی با AWS IAM
با استفاده از AWS IAM (Identity & Access Management)، دسترسی کاربران و سرویسها به منابع AWS را به صورت امن مدیریت کنید.
نوشتن قوانین و پالیسیهای سفارشی برای دسترسی به سرویسهای AWS
بیاموزید چگونه قوانین و پالیسیهای سفارشی برای کنترل دسترسی به سرویسهای AWS بنویسید و امنیت اپلیکیشن خود را تضمین کنید.
استفاده از Mongo Atlas به عنوان پایگاه داده مدیریت شده
با استفاده از MongoDB Atlas، یک پایگاه داده NoSQL مدیریت شده و مقیاسپذیر در ابر را برای ذخیره دادههای اپلیکیشن خود به کار بگیرید.
ساخت اپلیکیشنهای React با SEO و Next.js
با ترکیب React، Next.js و بهترین شیوههای SEO، اپلیکیشنهای وب کاربرپسند و بهینهشده برای موتورهای جستجو بسازید.
ساخت پروژههای واقعی MERN Stack از ابتدا
تجربه ساخت پروژههای فول استک MERN Stack واقعی را با یادگیری گام به گام از مفاهیم اولیه تا پیادهسازی نهایی کسب کنید.
پیادهسازی سیستم احراز هویت مبتنی بر JWT امن
سیستم احراز هویت امن با استفاده از JSON Web Tokens (JWT) را در اپلیکیشن خود پیادهسازی کنید.
انجام عملیات CRUD
مهارتهای لازم برای انجام عملیات Create, Read, Update, Delete (CRUD) بر روی دادهها را کسب کنید.
تغییر اندازه تصویر در سمت کلاینت
نحوه تغییر اندازه تصاویر را در سمت مرورگر کاربر (Client Side) پیادهسازی کنید.
پیادهسازی Rich Text Editor
قابلیت ویرایش متن غنی (Rich Text Editing) را به اپلیکیشن خود اضافه کنید.
پیادهسازی Infinite Scrolling
تجربه کاربری روان با پیادهسازی Infinite Scrolling (اسکرول بینهایت) را برای نمایش لیستهای طولانی فراهم کنید.
پیادهسازی View Count و Load More
قابلیت نمایش تعداد بازدید و دکمه "بارگذاری بیشتر" را برای بهبود تجربه کاربری و مدیریت محتوا پیادهسازی کنید.
ساخت پلتفرم چند کاربره
یک پلتفرم پویا و تعاملی بسازید که امکان استفاده چندین کاربر به طور همزمان را فراهم کند.
پیادهسازی قابلیت ارسال انبوه ایمیل
قابلیت ارسال ایمیل به تعداد زیادی از کاربران را با استفاده از ابزارهای کارآمد پیادهسازی کنید.
ساخت وب اپلیکیشن قوی برای استارتاپهای جدید
اپلیکیشنهای وب مستحکم و قابل توسعه را برای نیازهای استارتاپهای نوپا طراحی و پیادهسازی کنید.
ورود/ثبتنام/فعالسازی/فراموشی/بازیابی رمز عبور
سیستمهای کامل مدیریت حساب کاربری شامل ورود، ثبتنام، فعالسازی حساب، فراموشی و بازیابی رمز عبور را پیادهسازی کنید.
نوشتن کد تمیز با معماری اپلیکیشن با قابلیت نگهداری آسان
اصول کدنویسی تمیز و معماری اپلیکیشن مدولار و با قابلیت نگهداری بالا را بیاموزید.
ساخت اپلیکیشنی که قابلیت رشد بینهایت در آینده را دارد
اپلیکیشنهایی طراحی کنید که با رشد کسبوکار شما، بدون نیاز به بازنویسی اساسی، مقیاسپذیر باقی بمانند.
پیشنیازها
- درک پایه JavaScript
- درک پایه React JS
- درک پایه Node.js
درباره این دوره
بر هنر ساخت یک پروژه واقعی و مقیاسپذیر با MERN Stack برای یک استارتاپ جدید که به طور بیپایان مقیاسپذیر خواهد بود، مسلط شوید. نشان خواهیم داد که چگونه میتوانید پروژهای با معماری مستحکم برای رشد در آینده و استفاده بالقوه میلیونها کاربر را راهاندازی کنید.
پشته فناوری (Tech Stack)
- در سمت کلاینت از React و Next.js (فریمورک React) استفاده خواهیم کرد.
- با استفاده از Node Express MongoDB، یک API/سرور خواهیم ساخت.
- از خدمات AWS مانند S3 برای ذخیرهسازی فایل، SES برای ارسال ایمیل، EC2 برای میزبانی ابری، IAM برای مدیریت هویت و دسترسی، و Route 53 برای مدیریت دامنه به همراه قوانین/پالیسیهای سفارشی استفاده خواهیم کرد.
- از Mongo Atlas به عنوان سرویس پایگاه داده مدیریت شده در ابر استفاده خواهیم کرد.
چه چیزی خواهیم ساخت؟
- یک پروژه استارتاپی الهام گرفته از یک اپلیکیشن موفق واقعی (با جزئیات بیشتر در سخنرانیها) خواهیم ساخت که در آن چندین کاربر میتوانند وارد شده و محتوای ارسالی خود را پست/مدیریت کنند.
- در حین ساخت پروژهای مشابه، بهبودهایی را برای مقیاسپذیری بینهایت و نگهداری آسانتر اضافه خواهیم کرد.
- با هدف کاهش هزینههای عملیاتی، برخی قابلیتها را برای جذابتر، آسانتر و سرگرمکنندهتر کردن تجربه کاربری پیادهسازی خواهیم کرد.
هدف پروژه
- هدف ما جذب میلیونها کاربر بالقوه برای استفاده و تعامل با اپلیکیشن ما است.
- کاربران میتوانند هر کسی باشند؛ کسی که یک دوره، ویدئو یا مقاله آنلاین پیدا میکند، آن را دوست دارد و میخواهد به اشتراک بگذارد.
- لینکهای به اشتراک گذاشته شده توسط کاربران در داشبورد آنها برای بهروزرسانی/حذف در دسترس خواهد بود.
- یک کاربر میتواند یک تولیدکننده محتوا باشد؛ مربیان، یوتیوبرها، نویسندگان وبلاگ و آموزش، نویسندگان کتاب و غیره.
- کاربران برای پست/اشتراکگذاری/لایک کردن لینکها/URLها در اپلیکیشن ما ثبتنام/وارد خواهند شد.
- کاربران این کار را برای دریافت ترافیک رایگان، جلب توجه مردم و اشتراکگذاری رایگان لینکها انجام خواهند داد.
مروری بر پروژه
- سیستم ورود/ثبتنام
- نیاز به MongoDB که بینهایت مقیاسپذیر باشد. برای این منظور از Mongo Atlas استفاده خواهیم کرد.
- نیاز به یک سیستم ذخیرهسازی انبوه که بینهایت مقیاسپذیر باشد برای ذخیره فایلهای تصویری آپلود شده توسط کاربران. برای این منظور از AWS S3 (Simple Storage Service) استفاده خواهیم کرد.
- دیگر نگران مدیریت میلیونها فایل آپلود شده توسط کاربران نباشید؛ بگذارید AWS مراقب آن باشد! قیمت S3 برای ذخیرهسازی حجم نامحدودی از داده که در سراسر مراکز داده AWS در سراسر جهان به راحتی در دسترس است، پایینترین در بازار است.
- نیاز به سرویس ایمیل قوی برای ارسال ایمیل به صدها هزار کاربر. برای این منظور از AWS SES (Simple Email Service) استفاده خواهیم کرد.
- دیگر نگران نحوه ارسال ایمیل به میلیونها نفر و پرداخت هزینه بالاتر نباشید؛ بگذارید AWS مراقب آن باشد! نرخ SES آنها پایینترین در بازار است.
- از AWS EC2 (Elastic Compute Cloud) برای میزبانی API بکاند NodeJS و فرانتاند React/Next.js، همه در یک اینستنس، استفاده خواهیم کرد.
- با استفاده از خدمات AWS برای ذخیرهسازی، ایمیل و میزبانی، هزینه را تا حد امکان پایین نگه خواهیم داشت.
- بزرگترین مشکلات مقیاسپذیری وب اپلیکیشنها، ذخیرهسازی و مقیاسپذیری پایگاه داده هستند. آن بخش توسط AWS مدیریت خواهد شد. بنابراین ما به عنوان توسعهدهنده، دغدغهای نخواهیم داشت.
- هدف ما توانمندسازی فقط 1 یا 2 توسعهدهنده برای نگهداری کل پروژه و رشد مداوم در آینده است.
معماری پروژه تمیز، ساده و با قابلیت نگهداری آسان
- معماری فوقالعاده ساده که نگهداری و مقیاسپذیری آن آسان است.
- جداسازی API بکاند و فرانتاند ساخته شده با React/Next.js برای توسعه، نگهداری کد و استقرار آسان.
- ساده نگه داشتن فرانتاند تا حد امکان.
- سناریو 1: شما یک صفحه در React برای انجام یک کار خاص ایجاد میکنید. به عنوان مثال، دادهها را از API/سرور شما دریافت کرده و آن دادهها را در صفحه وب برای مشاهده کاربر قرار میدهد. کار انجام شد.
- سناریو 2: شما صفحه ادمین را برای ایجاد یک پست جدید ایجاد میکنید. به عنوان مثال، ارسال داده به API/سرور شما و نمایش پاسخ موفقیت یا خطا. کار انجام شد.
- ساده نگه داشتن API بکاند تا حد امکان.
- سناریو 1: شما یک مسیر GET دارید. به عنوان مثال، '/api/posts'. شما درخواستی از React/Frontend برای دریافت تمام پستها از پایگاه داده دریافت میکنید.
- شما این درخواست را به متد کنترلر پاس میدهید. متد/تابع کنترلر کوئری به پایگاه داده انجام میدهد، تمام پستها را دریافت کرده و به React/Frontend برمیگرداند. کار انجام شد.
- سناریو 2: شما یک مسیر POST دارید. به عنوان مثال، '/api/create/post'. شما دادهها را از React/Frontend برای ایجاد یک پست جدید دریافت میکنید. شما آن دادهها را به متد کنترلر پاس میدهید.
- متد/تابع کنترلر آن دادهها را در پایگاه داده ذخیره کرده و پاسخ موفقیت را برمیگرداند که به React ارسال میشود. کار انجام شد.
- این منطق اپلیکیشن ما یا اساساً هر وب اپلیکیشن دیگری است. چرخه درخواست/پاسخ. درخواست از فرانتاند، پاسخ از سرور.
آیا آماده این دوره هستید؟
- اگر به دنبال استفاده از دانش موجود خود در React و Node برای ساخت یک اپلیکیشن واقعی و مقیاسپذیر هستید، این دوره برای شما مناسب است.
- بر اساس این پروژه، میتوانید آن ایده بزرگ بعدی را که همیشه در رؤیای آن بودهاید، بسازید. یا میتوانید از این دانش برای کمک به استارتاپها در راهاندازی ایدههای تجاری موفق خود استفاده کنید. امکانات بیپایان هستند.
رویا، رویاست مگر اینکه تلاش کنی تا آن را به واقعیت تبدیل کنی. با گذراندن این دوره، تلاش خود را به کار گیر. من به تو کمک خواهم کرد تا رؤیای خود را به واقعیت تبدیل کنی. در این دوره به من بپیوند و آن را محقق کن!
Ryan Dhungel
نمایش نظرات