در هنر ساختن یک پروژه دنیای واقعی بسیار مقیاسپذیر با استفاده از MERN Stack برای راهاندازی جدید که مقیاس بینهایتی خواهد داشت، تسلط پیدا کنید. من نشان خواهم داد که چگونه میتوانید پروژهای را راهاندازی کنید که معماری محکمی برای رشد در آینده داشته باشد تا میلیونها کاربر از آن استفاده کنند.
پشته فناوری
ما از React و NextJS (React Framework) در سمت کلاینت استفاده خواهیم کرد.
ما یک API/سرور با استفاده از Node Express MongoDB خواهیم ساخت.
ما از سرویسهای AWS مانند S3 برای ذخیرهسازی فایلها، SES برای ارسال ایمیل و EC2 برای میزبانی ابری IAM برای شناسایی و مدیریت دسترسی مسیر 53 برای مدیریت دامنه همراه با قوانین/خطمشی سفارشی استفاده خواهیم کرد.
از Mongo Atlas به عنوان سرویس پایگاه داده مدیریت شده در ابر استفاده خواهیم کرد.
چه چیزی خواهیم ساخت؟
یک پروژه راهاندازی با الهام از یک برنامه موفق دنیای واقعی بسازید (که در سخنرانیها بیشتر مورد بحث قرار گرفت) که در آن چندین کاربر میتوانند وارد سیستم شوند و محتوای ارسالی خود را پست/مدیریت کنند.
در حین ساخت پروژه مشابه، پیشرفتهای کمی اضافه میکنیم تا بینهایت مقیاسپذیر و نگهداری آن آسانتر شود
هزینه عملیات کم را هدف قرار دهید و برخی از قابلیتها را پیادهسازی کنید تا استفاده را برای کاربران آسانتر، سرگرمکننده و جذاب کنید.
هدف پروژه
میلیونها کاربر بالقوه را برای استفاده و تعامل با برنامه ما هدف قرار دهید
کاربران میتوانند هر کسی باشند.. کسانی که دوره، ویدیو یا مقالههایی را آنلاین پیدا میکنند... آن را دوست دارند و میخواهند به اشتراک بگذارند
پیوندهایی که آنها به اشتراک می گذارند نیز در داشبورد آنها برای به روز رسانی/حذف در دسترس خواهد بود
یک کاربر میتواند شخصی باشد که مانند من تولیدکننده محتوا است... مدرسان، یوتیوببرها، نویسندگان وبلاگ و آموزش، نویسندگان کتاب و غیره
کاربران برای پست کردن/اشتراکگذاری/پسندیدن پیوندها/آدرسها در برنامه ما ثبتنام/وارد میشوند
کاربران این کار را انجام خواهند داد تا ترافیک رایگان دریافت کنند... برای جلب توجه مردم... به اشتراک گذاری لینک ها به صورت رایگان
نمای کلی پروژه
ورود به سیستم/ثبت نام سیستم
به MongoDB نیاز دارید که بی نهایت مقیاس داشته باشد. ما از Mongo Atlas برای این نیاز استفاده خواهیم کرد.
به یک سیستم ذخیره سازی عظیم نیاز دارید که برای ذخیره فایل های تصویری آپلود شده توسط کاربر، مقیاس بی نهایت داشته باشد. ما از AWS S3 (سرویس ذخیره سازی ساده) برای این نیاز استفاده خواهیم کرد.
هیچ وقت لازم نیست نگران نحوه مدیریت میلیون ها فایل آپلود شده توسط کاربر باشید... اجازه دهید AWS از آن مراقبت کند! قیمت S3 پایین ترین قیمت در بازار برای ذخیره بی نهایت داده است که به راحتی در سراسر جهان در سراسر مراکز داده AWS در سطح جهان در دسترس است.
به سرویس ایمیل قوی برای ارسال ایمیل برای صدها هزار کاربر نیاز دارید. ما از AWS SES (سرویس ایمیل ساده) برای این نیاز استفاده خواهیم کرد.
هیچ وقت لازم نیست نگران نحوه ارسال ایمیل به میلیون ها نفر و پرداخت هزینه بیشتر باشید... اجازه دهید AWS از آن مراقبت کند! نرخ SES آنها پایین ترین در بازار است.
ما از AWS EC2 (Elastic Compute Cloud) برای میزبانی NodeJS API و React/Next JS frontend خود، همه در یک نمونه، استفاده خواهیم کرد.
با استفاده از سرویسهای AWS برای ذخیرهسازی، ایمیل و میزبانی، هزینه را تا حد امکان پایین نگه دارید.
بزرگترین مشکلات مقیاسگذاری برنامههای وب، ذخیرهسازی و مقیاسگذاری پایگاه داده است. این بخش توسط AWS مدیریت خواهد شد. بنابراین ما به عنوان یک توسعه دهنده نیازی به نگرانی نیستیم.
هدف ما این است که فقط 1 یا 2 برنامه نویس را قادر به حفظ کل پروژه و رشد مداوم در آینده کنیم.
ساده و آسان برای حفظ معماری پروژه
معماری بسیار ساده که نگهداری و مقیاس آن آسان است
API Backend و Frontend جداگانه ساخته شده با react/nextjs برای توسعه آسان، نگهداری کد و استقرار
نمایش را تا حد امکان ساده نگه دارید
سناریو 1 شما یک صفحه در واکنش ایجاد می کنید تا کار خاصی را انجام دهید. برای مثال دادهها را از API/سرور شما میگیرد و آن دادهها را در صفحه وب قرار میدهد تا کاربر ببیند. کار انجام شد.
سناریو 2 شما برای ایجاد یک پست جدید صفحه مدیریت ایجاد می کنید. به عنوان مثال برای پست کردن داده ها به API/سرور و نشان دادن پاسخ بازگشتی موفقیت یا خطا. کار انجام شد.
API backend را تا حد امکان ساده نگه دارید
سناریوی 1 شما یک مسیر GET دارید. به عنوان مثال '/api/posts'. شما درخواستی از react/frontend برای دریافت همه پست ها از پایگاه داده دریافت خواهید کرد.
شما این درخواست را به یک روش کنترل کننده ارسال می کنید. روش/عملکرد کنترلر یک پرس و جو در پایگاه داده ایجاد می کند، همه پست ها را دریافت می کند و به react/frontend باز می گردد. کار انجام شد.
سناریو 2 شما یک مسیر POST دارید. به عنوان مثال '/api/create/post'. برای ایجاد یک پست جدید، داده هایی را از react/frontend دریافت خواهید کرد. شما آن داده ها را به یک روش کنترل کننده منتقل می کنید.
روش/عملکرد کنترلر آن داده ها را در پایگاه داده ذخیره می کند و پاسخ موفقیت آمیز را برمی گرداند، که برای واکنش ارسال می شود. کار انجام شد.
این منطق برنامه ما یا اساساً هر برنامه وب موجود است. چرخه درخواست ها/پاسخ ها درخواست از frontend، پاسخ از سرور.
آیا برای این دوره آماده هستید؟
اگر به دنبال استفاده از دانش موجود خود در مورد react و node برای ساختن یک برنامه دنیای واقعی مقیاسپذیر هستید، این دوره برای شما مناسب است.
بر اساس این پروژه می توانید چیز بزرگ بعدی را که همیشه آرزویش را داشتید بسازید. یا می توانید از این دانش برای کمک به استارت آپ ها برای شروع ایده های تجاری موفق خود استفاده کنید. امکانات بی پایان هستند.
رویا رویا است مگر اینکه برای تحقق آن تلاش کنید. تلاش خود را با شرکت در این دوره انجام دهید. من به شما کمک می کنم رویای خود را به واقعیت تبدیل کنید. در این دوره به من بپیوندید و آن را محقق کنید!
نمایش نظرات