آموزش ساخت اپلیکیشن توزیع‌شده کامل با استفاده از .Net Aspire - آخرین آپدیت

دانلود Build a complete distributed app using .Net Aspire

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: راهنمای جامع ساخت یک اپلیکیشن با استفاده از Aspire، سرویس‌های .Net و Next.js از صفر ساخت یک اپلیکیشن میکروسرویس کامل با استفاده از .NET و Aspire برای سیستم‌های توزیع‌شده آماده برای ابر (Cloud-Ready) پیاده‌سازی جریان‌های امن احراز هویت و مجوزدهی با Keycloak در یک اپلیکیشن واقعی به‌کارگیری الگوهای معماری رویداد-محور (Event-Driven) با WolverineFx برای پیام‌رسانی و قابلیت اطمینان توسعه فرانت-اند مدرن با Next.js App Router، Tailwind و Zustand برای مدیریت وضعیت (State Management) یکپارچه‌سازی سرویس‌ها با PostgreSQL، کانتینرسازی و API Gateway برای استقرار مقیاس‌پذیر استقرار و مدیریت اپلیکیشن در محیط‌های عملیاتی با استفاده از Docker و Azure پیشنیازها: درک پایه از زبان C# و توسعه .NET (نیازی به تخصص عمیق نیست). آشنایی نسبی با JavaScript یا TypeScript برای کار با فرانت-اند Next.js. کامپیوتری با قابلیت اجرای Docker و نصب IDE مورد نظر (حداقل ۸ گیگابایت رم توصیه می‌شود). عدم نیاز به دانش قبلی از Aspire، Wolverine یا Keycloak — همه موارد گام‌به‌گام توضیح داده می‌شوند.

آیا آماده‌اید تا مهارت‌های .NET خود را به سطح جدیدی ببرید و اپلیکیشن‌های توزیع‌شده مدرنبسازید؟

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

ما از صفر شروع می‌کنیم و شما را گام‌به‌گام در ساخت یک سیستم کامل با .NET 9، Aspire و WolverineFxراهنمایی می‌کنیم. شما خواهید آموخت که چگونه میکروسرویس‌ها را ساختاردهی کنید، پیام‌رسانی رویداد-محور را پیاده‌سازی نمایید و داده‌ها را با PostgreSQL مدیریت کنید — در حالی که اپلیکیشن شما مقیاس‌پذیر و قابل اعتماد باقی می‌ماند.

در بخش فرانت-اند، یک رابط کاربری مدرن را با استفاده از Next.js (App Router)می‌سازید که با Tailwind استایل‌دهی شده و توسط Zustandمدیریت می‌شود. در این مسیر، Keycloakرا برای احراز هویت و مجوزدهی امن یکپارچه خواهید کرد تا اپلیکیشن شما دارای ویژگی‌های شناسایی در سطح استانداردهای عملیاتی باشد.

در پایان این دوره، شما نه‌تنها تئوری سیستم‌های توزیع‌شده را درک خواهید کرد، بلکه یک اپلیکیشن کاملاً کاربردی خواهید داشت که می‌توانید آن را به‌صورت محلی با Docker اجرا کرده یا در ابر مستقر کنید. مهم‌تر از آن، مهارت‌های عملی برای ساخت، گسترش و مقیاس‌بندی سیستم‌های واقعی را برای پروژه‌ها یا مسیر شغلی خود به دست خواهید آورد.

چه یک توسعه‌دهنده .NET باشید که به دنبال ارتقای سطح است، چه یک توسعه‌دهنده Full-stack که کنجکاو است Aspire را بشناسد، یا صرفاً کسی که می‌خواهد ببیند تمام قطعات در یک سیستم توزیع‌شده مدرن چگونه در کنار هم قرار می‌گیرند — این دوره برای شماست.

همین امروز ثبت‌نام کنید و بیایید ساخت آینده اپلیکیشن‌ها را با .NET Aspire و Next.jsآغاز کنیم!


سرفصل ها و درس ها

مقدمه Introduction

  • معرفی دوره Course Introduction

  • پیش‌نیازهای دوره Course pre-requisites

  • راه‌اندازی محیط توسعه Setting up the developer environment

  • مکان دانلود منابع دوره Where to download the course assets

راه‌اندازی Aspire و Keycloak Setting up Aspire + Keycloak

  • مقدمه بخش دوم Introduction to section 2

  • Aspire چیست؟ What is Aspire?

  • ساخت پروژه Aspire Creating an Aspire project

  • Keycloak و OAuth 2.0 چیستند؟ What is Keycloak and OAuth 2.0?

  • راه‌اندازی Keycloak Setting up Keycloak

  • پیکربندی Realm در Keycloak Configuring the Keycloak realm

  • تست ورود در Postman Testing the login in Postman

  • پیکربندی توکن Configuring the token

  • پیکربندی نقش‌ها در Realm Configuring roles in the realm

  • ذخیره کد در سیستم کنترل نسخه Saving the code into source control

  • خلاصه بخش دوم Summary of section 2

ساخت اولین سرویس .Net با Aspire Creating the first .Net service with Aspire

  • مقدمه بخش سوم Introduction to section 3

  • ساخت سرویس سوالات Creating the Question service

  • یکپارچه‌سازی Keycloak در سرویس جدید Integrating Keycloak into the new service

  • تست احراز هویت Testing authentication

  • افزودن سرور دیتابیس Adding a DB server

  • اتصال اپلیکیشن به دیتابیس Connecting the app to the DB

  • افزودن Migration Adding a migration

  • افزودن Endpoint ایجاد سوال Adding the create question endpoint

  • استفاده از Debugger برای عیب‌یابی سرویس در پروژه Aspire Using the Debugger to debug a service in an Aspire project

  • اعتبارسنجی DTO Validating the DTO

  • افزودن Endpointهای GET Adding the GET endpoints

  • افزودن Endpointهای ویرایش و حذف Adding the update and delete endpoints

  • خلاصه بخش سوم Summary of section 3

افزودن سرویس جستجو Adding a Search service

  • مقدمه بخش چهارم Introduction to section 4

  • افزودن Typesense به پروژه Aspire Adding Typesense to the Aspire project

  • پیکربندی سرویس جستجو Configuring the Search service

  • رازهای کاربر (User Secrets) User secrets

  • رابط کاربری Typesense Typesense UI

  • پیکربندی مقداردهی اولیه Typesense Configuring Typesense initialization

  • افزودن Endpoint جستجو Adding a Search endpoint

  • RabbitMQ چیست؟ What is RabbitMQ?

  • افزودن یکپارچه‌سازی RabbitMQ در Aspire Adding RabbitMQ integration into Aspire

  • راه‌اندازی WolverineFx Setting up WolverineFx

  • ساخت هندلر پیام ایجاد سوال Creating a question created message handler

  • انتشار پیام (Message Publishing) Message publishing

  • استفاده از Tracing برای بهبود عملکرد هنگام ارسال سوال جدید Using tracing to help improve the performance when posting a new question

  • افزودن هندلرهای ویرایش و حذف Adding the edit and delete handlers

  • افزودن جستجوی عنوان مشابه Adding similar title search

  • خلاصه بخش چهارم Summary of section 4

چالش: پیاده‌سازی قابلیت پاسخ‌دهی Challenge - Implement the answer functionality

  • معرفی چالش Challenge introduction

  • راه حل چالش Challenge solution

استقرار کوچک ۱ Mini Deployment 1

  • مقدمه بخش ششم Introduction to Section 6

  • راه‌اندازی مدیریت خطاها Setting up error handling

  • افزودن Reverse Proxy با استفاده از YARP Adding a reverse proxy using YARP

  • Aspire و Docker بخش اول Aspire and docker part 1

  • Aspire و Docker بخش دوم Aspire and docker part 2

  • پیکربندی Docker برای Keycloak Keycloak docker configuration

  • خروجی و ورودی Realm در Keycloak Keycloak realm export and import

  • تاب‌آوری سرویس با Polly Service resiliency with polly

  • افزودن یک پروژه مشترک (Common Project) Adding a common project

  • تست سرویس‌های Docker Compose Testing the docker compose services

  • افزودن پراکسی Nginx Adding an Nginx proxy

  • اطمینان از کارکرد Aspire برای توسعه مستمر Making sure Aspire still works for continuous development

  • خلاصه بخش ششم Summary of section 6

ساخت رابط کاربری (UI) Building the User Interface

  • مقدمه بخش هفتم Introduction to section 7

  • ساخت اپلیکیشن وب Creating the web application

  • پاک‌سازی و بررسی محتوای قالب اپ وب Cleaning up and reviewing the web app template content

  • افزودن HeroUI Adding HeroUI

  • ساخت نوار ناوبری (Nav bar) Creating a Nav bar

  • ساخت سایدبار (Side bar) Creating a Side bar

  • دریافت داده‌ها با NextJS Fetching data with NextJS

  • ساخت کارت‌های سوال Creating question cards

  • استایل‌دهی شرطی المان‌ها Conditionally styling elements

  • افزودن هدر سوالات Adding a questions header

  • افزودن پشتیبانی از حالت تاریک (Dark Mode) Adding dark mode support

  • افزودن صفحه سفارشی 404 (Not Found) Adding a custom not found page

  • افزودن صفحه جزئیات سوال Adding a question detailed page

  • افزودن محتوای جزئیات سوال Adding question detailed content

  • افزودن محتوای پاسخ‌ها Adding the answer content

  • افزودن فوتر سوال و پاسخ Adding the question and answer footers

  • افزودن محتوای صفحه اصلی Adding home page content

  • خلاصه بخش هفتم Summary of section 7

قابلیت‌های رابط کاربری User Interface functionality

  • مقدمه بخش هشتم Introduction to section 8

  • ساخت یک Fetch Client Creating a fetch client

  • ساخت صفحه خطا Creating an error page

  • تست مدیریت خطاهای سمت کلاینت Testing client side error handling

  • بهبود Fetch Client Enhancing the fetch client

  • مدیریت خطاهای سمت کلاینت Client side error handling

  • دریافت تگ‌ها Fetching the tags

  • ذخیره تگ‌ها در Zustand Store Storing the tags in a Zustand store

  • کشینگ در NextJS NextJS Caching

  • فرمت‌بندی تاریخ Date formatting

  • افزودن جستجو بخش اول Adding search part 1

  • افزودن جستجو بخش دوم Adding search part 2

  • خلاصه بخش هشتم Summary of section 8

احراز هویت کلاینت Client authentication

  • مقدمه بخش نهم Introduction to section 9

  • پیکربندی کلاینت Next.js در Keycloak Configuring a nextjs client in KeyCloak

  • افزودن Endpoint تست احراز هویت Adding a Test auth endpoint

  • افزودن Next auth (auth.js) Adding Next auth (auth.js)

  • ورود به اپلیکیشن کلاینت Logging into the client app

  • دریافت داده‌های Session Getting the session data

  • افزودن منوی کشویی (Dropdown) Adding a dropdown menu

  • نمایش داده‌های Session Displaying the session data

  • ذخیره Access Token همراه با Session Storing the access token with the session

  • آپدیت Fetch Client برای استفاده از توکن Updating the fetch client to use the token

  • توکن‌های Refresh بخش اول Refresh tokens part 1

  • توکن‌های Refresh بخش دوم Refresh tokens part 2

  • ثبت‌نام کاربران در Keycloak Registering users in Keycloak

  • خلاصه بخش نهم Summary of section 9

عملیات CRUD در کلاینت Client CRUD operations

  • مقدمه بخش دهم Introduction to section 10

  • افزودن فرم سوال Adding the question form

  • افزودن React Hook Form Adding react hook form

  • افزودن اعتبارسنجی Adding validation

  • افزودن ویرایشگر متن Rich Text بخش اول Adding a rich text editor part 1

  • افزودن ویرایشگر متن Rich Text بخش دوم Adding a rich text editor part 2

  • اتصال ویرایشگر Rich Text به فرم Hooking up the rich text editor to the form

  • اعتبارسنجی ویرایشگر Rich Text Validating the rich text editor

  • ارسال سوال به API Posting the question to the API

  • پاک‌سازی (Sanitize) HTML Sanitizing the HTML

  • ویرایش سوالات Editing questions

  • ویرایش سوالات بخش دوم Editing questions part 2

  • حذف سوالات Deleting questions

  • افزودن آپلود تصویر به ویرایشگر Rich Text Adding image upload to the rich text editor

  • افزودن آپلود تصویر به ویرایشگر Rich Text بخش دوم Adding image upload to the rich text editor part 2

  • حذف تصاویر از ویرایشگر Rich Text Deleting images from the rich text editor

  • افزودن فرم پاسخ Adding the answer form

  • بازبینی کش (Cache Revalidation) در NextJS Cache revalidation in NextJS

  • چالش: قابلیت ویرایش و حذف پاسخ Challenge - Answer edit and delete functionality

  • خلاصه بخش دهم Summary of section 10

استقرار کوچک ۲ Mini deployment 2

  • مقدمه بخش یازدهم Introduction to section 11

  • آماده‌سازی اپ وب برای محیط عملیاتی (Production) Preparing the web app for production

  • رفع مشکلات Build اپ وب Fixing the web app build issues

  • پیکربندی متغیرهای محیطی Production برای اپ وب Configuring production environment variables for the web app

  • آپدیت AppHost Updating the AppHost

  • پیکربندی Keycloak برای کار با اپ وب در محیط Production Configuring Keycloak to work with the web app in production

  • اجرای پراکسی Nginx روی HTTPS Running the Nginx proxy over HTTPS

  • اطمینان از کارکرد Aspire برای توسعه مستمر Ensuring Aspire still works for continuous development

سرویس پروفایل The Profile Service

  • مقدمه بخش دوازدهم Introduction to section 12

  • ساخت سرویس پروفایل Creating the profile service

  • ساخت Entity و دیتابیس Creating the entity and DB

  • ساخت Endpoint پروفایل‌های کاربر Creating the User profiles endpoint

  • ساخت Endpoint دسته‌ای برای پروفایل‌ها Creating a batched profiles endpoint

  • پر کردن پروفایل هنگام ورود Populating the profile on login

  • غنی‌سازی کارت‌های سوال با داده‌های پروفایل Enriching the question cards with profile data

  • غنی‌سازی جزئیات سوال با داده‌های پروفایل Enriching the question details with profile data

  • محافظت از مسیرها (Protecting Routes) Protecting routes

  • چالش: پروفایل‌ها Challenge - profiles

  • خلاصه بخش دوازدهم Summary of section 12

سرویس‌های آمار و رای‌دهی The Stats and Vote services

  • مقدمه بخش سیزدهم Introduction to section 13

  • پیاده‌سازی شمارش استفاده از تگ‌ها Implementing the tag usage count

  • استفاده از تگ‌ها در سمت کلاینت Client side tag usage

  • ساخت پروژه Stats Creating a Stats project

  • Event Sourcing چیست؟ What is Event Sourcing

  • راه‌اندازی رویدادها و Projectionها Setting up the events and projections

  • تست Projectionها Testing the projections

  • افزودن Endpoint تگ‌های ترند شده Adding the trending tags endpoint

  • آپدیت کلاینت با تگ‌های ترند شده Updating the client with the trending tags

  • پیاده‌سازی سیستم اعتبار (Reputation) بخش اول Implementing the reputation part 1

  • پیاده‌سازی سیستم اعتبار (Reputation) بخش دوم Implementing the reputation part 2

  • ساخت سرویس رای‌دهی Creating the vote service

  • افزودن مدل‌ها و دیتابیس Adding the models and the DB

  • افزودن قابلیت رای‌دهی Adding the voting functionality

  • انتشار و مدیریت رای‌های ثبت شده Publishing and handling the votes casted

  • پذیرفتن پاسخ‌ها در کلاینت Accepting answers on the client

  • پذیرفتن پاسخ‌ها در کلاینت بخش دوم Accepting answers on the client part 2

  • پیاده‌سازی دکمه‌های رای‌دهی بخش اول Implementing the voting buttons part 1

  • پیاده‌سازی دکمه‌های رای‌دهی بخش دوم Implementing the voting buttons part 2

  • دریافت کاربران برتر Getting the top users

  • خلاصه بخش سیزدهم Summary of section 13

تکمیل نهایی Finishing touches

  • مقدمه بخش چهاردهم Introduction to section 14

  • ساخت Extension Method برای اجرای Migration Creating a migration runner extension method

  • پیاده‌سازی صفحه‌بندی (Pagination) در API Implementing pagination in the API

  • پیاده‌سازی فیلتر و مرتب‌سازی در API Implementing filtering and sorting in the API

  • پیاده‌سازی صفحه‌بندی سمت کلاینت بخش اول Implementing client side pagination part 1

  • پیاده‌سازی صفحه‌بندی سمت کلاینت بخش دوم Implementing client side pagination part 2

  • افزودن مرتب‌سازی و فیلتر سوالات به کلاینت Adding the question sorting and filtering to the client

  • مرتب‌سازی پاسخ‌ها Sorting the answers

  • پایداری پیام‌ها (Message Durability) بخش اول Message durability part 1

  • پایداری پیام‌ها (Message Durability) بخش دوم Message durability part 2

  • افزودن نشانگرهای در حال بارگذاری (Loading Indicators) Adding loading indicators

  • خلاصه بخش چهاردهم Summary of section 14

استقرار نهایی (Deployment) Deployment

  • مقدمه بخش پانزدهم Introduction to section 15

  • آماده‌سازی اپلیکیشن کلاینت Preparing the client app

  • رفع مشکلات Build اپ کلاینت Resolving the client app build issues

  • استقرار در سرور Digital Ocean بخش اول (Aspire 13.1) Deploying to Digital Ocean Server part 1 (Aspire 13.1)

  • استقرار در سرور Digital Ocean بخش دوم (Aspire 13.1) Deploying to a Digital Ocean Server part 2 (Aspire 13.1)

  • استقرار در سرور Digital Ocean بخش سوم (Aspire 13.1) Deploying to a Digital Ocean Server part 3 (Aspire 13.1)

  • استقرار در سرور Digital Ocean بخش چهارم (Aspire 13.1) Deploying to a Digital Ocean Server part 4 (Aspire 13.1)

  • استقرار Digital Ocean برای Aspire 9.4 Digital Ocean deployment for Aspire 9.4

  • استقرار در سرور لینوکس Digital Ocean بخش اول Deploying to a Digital Ocean linux server part 1

  • استقرار در سرور لینوکس Digital Ocean بخش دوم Deploying to a Digital Ocean linux server part 2

  • استقرار در سرور لینوکس Digital Ocean بخش سوم Deploying to a Digital Ocean linux server part 3

  • استقرار در سرور لینوکس Digital Ocean بخش چهارم Deploying to a Digital Ocean linux server part 4

  • استقرار در سرور لینوکس Digital Ocean بخش پنجم Deploying to a Digital Ocean linux server part 5

  • استقرار در سرور لینوکس Digital Ocean بخش ششم Deploying to a Digital Ocean linux server part 6

  • استقرار در Azure بخش اول Deploying to Azure part 1

  • استقرار در Azure بخش دوم Deploying to Azure part 2

  • استقرار در Azure بخش سوم Deploying to Azure part 3

  • استقرار در Azure بخش چهارم Deploying to Azure part 4

  • استقرار در Azure بخش پنجم Deploying to Azure part 5

  • خلاصه پایان دوره End of course summary

آپدیت به Aspire 13.1 Update to Aspire 13.1

  • آپدیت پروژه به Aspire 13.1 Update your project to Aspire 13.1

  • دموی دستور جدید aspire deploy The new aspire deploy command demonstration

نمایش نظرات

آموزش ساخت اپلیکیشن توزیع‌شده کامل با استفاده از .Net Aspire
جزییات دوره
27.5 hours
198
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,437
4.7 از 5
دارد
دارد
دارد
Neil Cummings
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Neil Cummings Neil Cummings

توسعه دهنده نرم افزار آزاد حرفه ای