🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش برنامه نویسی پیشرفته .NET فول استک: طراحی و توسعه اپلیکیشن های چند مستاجره (جدید)
- آخرین آپدیت
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
آموزش جامع FullStack MultiTenant با .NET و Blazor WebAssembly
در این دوره جامع، با استفاده از .NET 8 و Blazor WebAssembly، نحوه ایجاد و توسعه Web API های MultiTenant را به صورت FullStack یاد خواهید گرفت. این دوره برای توسعهدهندگانی طراحی شده است که میخواهند برنامههای کاربردی مقیاسپذیر و امن را با پشتیبانی از چندین مستأجر ایجاد کنند.
آنچه در این دوره خواهید آموخت:
.NET 8: آشنایی با آخرین ویژگیها و بهبودهای .NET 8، از جمله Primary Constructors و بهبودهای زبانی.
معماری Clean: درک اصول و بهترین شیوهها برای طراحی معماری Clean با تفکیک نگرانیها، معکوسسازی وابستگی و لایهبندی.
Multi-Tenancy با Finbuckle: پیادهسازی پشتیبانی از Multi-Tenancy با استفاده از کتابخانههای Finbuckle برای ایجاد برنامههایی که به چندین مستأجر با جداسازی دادهها خدمات میدهند.
مدیریت مستأجرها: یادگیری استراتژیهای مختلف برای مدیریت مستأجرها، از جمله رویکردهای Multi-Database و Shared Database.
فعال/غیرفعالسازی مستأجرها: فعال یا غیرفعال کردن پویای مستأجرها بر اساس تقاضا.
ارتقاء اشتراک مستأجرها: پیادهسازی مدیریت اشتراک برای مستأجرها با افزودن سالها/ماههای اعتبار بیشتر به هر مستأجر.
AspNet Identity: استفاده از ASP.NET Core Identity برای مدیریت احراز هویت و مجوز کاربران.
JSON Web Token (JWT): پیادهسازی مکانیزمهای امن احراز هویت و مجوز با استفاده از JWT.
مجوز مبتنی بر Permission: کنترل دسترسی به منابع بر اساس Permission.
Global Response Wrapper: استانداردسازی و سفارشیسازی پاسخهای API در سراسر برنامه.
CQRS با MediatR: پیادهسازی الگوی CQRS با استفاده از MediatR.
Fluent Validation: انجام اعتبارسنجی دادهها با استفاده از Fluent Validation.
Primary Constructor: استفاده از سینتکس Primary Constructor معرفیشده در C# 9.
Swagger UI: سفارشیسازی Swagger UI برای تولید مستندات API جامع و کاربرپسند.
Blazor WebAssembly: توسعه رابط کاربری با Blazor WebAssembly.
پیشنیازها:
دانش پایه از توسعه Web APIهای .NET
آشنایی با زبان برنامهنویسی C#
Visual Studio 2022
Visual Studio Code
Microsoft SQL Server
همین حالا در این دوره ثبتنام کنید و پتانسیل کامل .NET Core را برای برنامههای Multi-Tenant کشف کنید!
سرفصل ها و درس ها
مقدمه
Introduction
مقدمه
Introduction
آنچه توسعه خواهیم داد - API
What we will develop - API
بعدی چه خبر است؟
What's Coming Next
آنچه توسعه خواهیم داد - فرانتاند (Blazor Webassembly)
What we will develop - Frontend(Blazor Webassembly)
آنچه برای دنبال کردن نیاز دارید
What you will need to follow
طراحی راه حل و زمینه های پایگاه داده
Solution Design And Database Contexts
ایجاد راه حل معماری پاک
Clean Architecture Solution Creation
Response Wrapper غیر Generic - پیاده سازی Failure
Non-Generic Response Wrapper - Failure implementation
Response Wrapper غیر Generic - پیاده سازی های Failure (بارگذاری بیش از حد تابع)
Non-Generic Response Wrapper - Failure implementations (Function Over Load)
Response Wrapper غیر Generic - پیاده سازی های Failure (بارگذاری بیش از حد تابع)
Non-Generic Response Wrapper - Failure implementations (Function Over Load)
Response Wrapper غیر Generic - پیاده سازی های Success کامل
Non-Generic Response Wrapper - Success implementations complete
Response Wrapper Generic - تعریف و پیاده سازی
Generic Response Wrapper - Definition and Implementations
مدل های درخواست و پاسخ Tenant
Tenant request and response models
سرویس Tenants - تعریف
Tenants Service - Definition
فرمان ایجاد Tenant
Create Tenant Command
فرمان فعال سازی Tenant
Activate Tenant Command
فرمان غیرفعال کردن Tenant
Deactivate Tenant Command
فرمان به روز رسانی اشتراک Tenant
Update Tenant Subscription Command
دریافت Query Tenant بر اساس Id
Get Tenant By Id Query
دریافت Query Tenants
Get Tenants Query
نقطه پایانی ایجاد Tenant
Create Tenant Endpoint
نقاط پایانی Tenants - همه
Tenants Endpoints - All
پیاده سازی سرویس Tenant - وابستگی ها
Tenant Service Implementation - Dependencies
پیاده سازی Activate
Activate implementation
پیاده سازی ایجاد Tenant
Create Tenant implementation
پیاده سازی های Deactivate و Get Tenant By Id
Deactivate and Get Tenant By Id implementations
پیاده سازی های Get Tenants و Update Subscription
Get Tenants and Update Subscription implementations
سرویس Tenant در Dependency Injection
Tenant service into Dependency Injection
آزمایش ایجاد Tenant - پایگاه داده مشترک
Create Tenant Testing - Shared database
آزمایش ادعاهای نقش Tenant جدید
New Tenant Role Claims testing
آزمایش دسترسی کاربر Tenant جدید
New Tenant User Access testing
Seeding کاربر Admin Tenant با مقادیر مشخص شده
Seeding Tenant Admin user with specified values
آزمایش پایگاه داده اختصاصی Tenant
Tenant Dedicated database testing
آزمایش کاربر Tenant
Tenant User testing
مدیریت موجودیت مدرسه
School Entity Management
مدل های درخواست و پاسخ مدرسه
School Request and Response models
تعریف سرویس مدرسه
School Service Definition
پیاده سازی سرویس مدرسه - کامل
School Service implementation - Complete
فرمان ایجاد مدرسه
Create School Command
فرمان به روز رسانی مدرسه
Update School Command
فرمان حذف مدرسه
Delete School Command
دریافت Query مدرسه بر اساس Id
Get School By Id Query
دریافت Query مدرسه بر اساس نام
Get School By Name Query
دریافت Query مدارس
Get Schools Query
آماده سازی FluentValidation
FluentValidation preparation
اعتبارسنج درخواست ایجاد مدرسه
Create School Request Validator
اعتبارسنج فرمان ایجاد مدرسه
Create School Command Validator
اعتبارسنج درخواست به روز رسانی مدرسه
Update School Request Validator
اعتبارسنج فرمان به روز رسانی مدرسه
Update School Command Validator
نقطه پایانی ایجاد مدرسه
Create School Endpoint
نقاط پایانی به روز رسانی و حذف مدرسه
Update and delete school endpoints
نقاط پایانی GET مدرسه
School GET endpoints
رفتار Pipeline MediatR
MediatR Pipeline behaviour
رفتار Pipeline اعتبارسنجی قسمت 1
Validation Pipeline Behavior part 1
132 رفتار Pipeline اعتبارسنجی قسمت 2
132 Validation Pipeline Behavior part 2
رفتار Pipeline اعتبارسنجی - نحوه کار آن (آزمایش)
Validation Pipeline Behavior - How it works (testing)
رفتار Pipeline اعتبارسنجی - نحوه کارکرد صحیح (آزمایش)
Validation Pipeline Behavior - How it Should works (testing)
زیر سیستم Identity
Identity Subsystem
مدل های نقش
Role models
مدل درخواست به روز رسانی مجوزهای نقش
Update Role Permissions Request model
تعریف رابط سرویس نقش
Role Service interface definition
پیاده سازی سرویس نقش - وابستگی ها
Role Service Implementation - Dependencies
ایجاد نقش و پیاده سازی های Helper توضیحات خطا IdentityResult
Create Role and IdentityResult Error Descriptions Helper implementations
پیاده سازی حذف نقش - نقش های پیش فرض نیست
Delete role implementation - Not default roles
پیاده سازی حذف نقش - نقش اختصاص داده نشده فعلی نیست
Delete role implementation - Not currently assigned role
آیا نقش وجود دارد و دریافت همه پیاده سازی های نقش
Does role exists and Get all roles implementations
دریافت پیاده سازی نقش بر اساس Id
Get role By Id implementation
دریافت نقش با پیاده سازی مجوزها
Get role with Permissions implementation
به روز رسانی پیاده سازی نقش
Update role implementation
به روز رسانی پیاده سازی مجوزهای نقش - نقش Admin نیست
Update Role Permissions implementation - Not Admin role
به روز رسانی مجوزهای نقش - مجوزهای Tenants برای root tenant غیر حذف می شوند
Update Role Permissions - Tenants permissions are removed for non root tenant
به روز رسانی پیاده سازی مجوزهای نقش - Drop and Lift
Update Role Permissions implementation - Drop and Lift
سرویس نقش در Dependency Injection
Role Service into Dependency Injection
فرمان ایجاد نقش
Create Role Command
دستورات نقش بیشتر
More Role commands
پرس و جوهای نقش
Role queries
مدل های درخواست کاربر
User request models
مدل های درخواست نقش کاربر
User Role Request models
مدل های پاسخ کاربر
User response models
تعریف سرویس کاربر فعلی
Current User Service definition
تعریف سرویس کاربر
User Service definition
پیاده سازی سرویس کاربر - وابستگی ها
User Service implementation - Dependencies
پیاده سازی فعال یا غیر فعال کردن
Activate Or Deactivate implementation
انتساب پیاده سازی نقش ها - admin برای root tenant نیست
Assign Roles implementation - not admin for root tenant
انتساب پیاده سازی نقش ها - حداقل دو کاربر admin برای هر tenant
Assign Roles implementation - at least two admin users for each tenant
انتساب پیاده سازی نقش ها - انتساب واقعی
Assign Roles implementation - actual assignment
پیاده سازی تغییر رمز عبور کاربر
Change User Password implementation
پیاده سازی ایجاد کاربر
Create User implementation
پیاده سازی حذف کاربر
Delete user implementation
دریافت همه کاربران و پیاده سازی های id
Get all users and by id implementations
دریافت پیاده سازی مجوزهای کاربر
Get User Permissions implementation
دریافت پیاده سازی نقش های کاربر
Get User Roles implementation
پیاده سازی های IsEmailTaken و IsPermissionAssigned
IsEmailTaken and IsPermissionAssigned implementations
به روز رسانی پیاده سازی کاربر
Update User implementation
پیاده سازی سرویس کاربر فعلی
Current User Service implementation
میان افزار کاربر فعلی
Current User Middleware
فرمان ایجاد کاربر
Create User Command
دستورات کاربر
User commands
دریافت Query کاربر بر اساس Id
Get User By Id Query
پرس و جوهای کاربر
User Queries
نقطه پایانی ثبت نام کاربر
Register User endpoint
نقاط پایانی کاربر
User endpoints
نقطه پایانی کاربر - بازنشانی رمز عبور
User Endpoint - Password Reset
پاکسازی کد نهایی
Final code cleanup
آزمایش نهایی
Final Testing
پکیج Nuget - برای اشتراک گذاری بین API و Frontend
Nuget Package - For Sharing between API and Frontend
مقدمه Front-end
Front-end Intro
توضیح استراتژی پیاده سازی
Implementation Strategy Explanation
نمایش و گفتن
Show and Tell
جایگزین - توصیه نمی شود
Alternative - Not Recommended
پروژه بسته
Package Project
درخواست های نقش
Role Requests
پاسخ نقش و درخواست های Token و پاسخ
Role Response and Token Requests and Response
درخواست ها و پاسخ های کاربر
User Requests and Responses
درخواست ها و پاسخ های مدرسه
School requests and Response
درخواست ها و پاسخ های Tenant
Tenant Requests and Response
Wrappers
Wrappers
ثابت های Auth
Auth Constants
آماده سازی انتشار بسته
Package release preparation
فراداده بسته
Package Metadata
مجوز و راه اندازی Repository
LICENSE and Repository Init
Azure DevOps
Azure DevOps
فید Nuget خصوصی
Private Nuget Feed
تنظیمات فید - مجوز
Feed Settings - Permission
Personal Access Token
Personal Access Token
اتصال فید
Connect Feed
CI-CD Pipeline
CI-CD Pipeline
انتشار بسته - موفقیت
Package Release - Success
حذف تعاریف Types از راه حل
Types Definitions Removal from Solution
رفع خطای Namespace - ترفندها
Namespace error fixing - Tricks
هم ترازی Namespace نقش ها
Roles Namespace Alignments
هم ترازی Namespace توکن ها و کاربران
Tokens and Users Namespace alignments
پاکسازی نهایی Namespace با هم
Final Namespace cleanup together
NavMenu Permission Based Visibility Part 1-بخش اول قابلیت مشاهده منوی ناوبری بر اساس مجوز
NavMenu Permission Based Visibility Part 1
NavMenu Permission Based Visibility Part 2 - Testing Partial Success-بخش دوم قابلیت مشاهده منوی ناوبری بر اساس مجوز - تست موفقیت نسبی
NavMenu Permission Based Visibility Part 2 - Testing Partial Success
NavMenu Permission Based Visibility - Auth State Provider Notification update-قابلیت مشاهده منوی ناوبری بر اساس مجوز - بروزرسانی اعلان ارائهدهنده وضعیت احراز هویت
NavMenu Permission Based Visibility - Auth State Provider Notification update
Permission Based Visibility - AuthStateProvider Notification update Test Success-قابلیت مشاهده بر اساس مجوز - تست موفقیت بروزرسانی اعلان ارائهدهنده وضعیت احراز هویت
Permission Based Visibility - AuthStateProvider Notification update Test Success
UserService - Get User Roles-UserService - دریافت نقشهای کاربر
UserService - Get User Roles
UserRoles Component - Get User Roles-کامپوننت نقشهای کاربر - دریافت نقشهای کاربر
UserRoles Component - Get User Roles
UserRoles Component - Markup Part 1-کامپوننت نقشهای کاربر - نشانهگذاری بخش 1
UserRoles Component - Markup Part 1
UserRoles Component - Markup Part 2 and Navigation-کامپوننت نقشهای کاربر - نشانهگذاری بخش 2 و ناوبری
UserRoles Component - Markup Part 2 and Navigation
UserService - Update User Status-UserService - بروزرسانی وضعیت کاربر
UserService - Update User Status
UserService - Update User Status implementation-UserService - پیادهسازی بروزرسانی وضعیت کاربر
UserService - Update User Status implementation
Users Component - Deactivate user confirmation-کامپوننت کاربران - تایید غیرفعال کردن کاربر
Users Component - Deactivate user confirmation
Users Component - Activate user confirmation-کامپوننت کاربران - تایید فعال کردن کاربر
Users Component - Activate user confirmation
Users Component - Deactivate and Activate user confirmation Test Success-کامپوننت کاربران - تست موفقیت تایید غیرفعال و فعال کردن کاربر
Users Component - Deactivate and Activate user confirmation Test Success
Table DataLabel Improvements-بهبود برچسب داده جدول
Table DataLabel Improvements
Roles and Permissions/Claims Management-مدیریت نقشها و مجوزها/ادعاها
Roles and Permissions/Claims Management
Assignment - CREATE UPDATE AND DELETE ROLE Components-تکلیف - کامپوننتهای ایجاد، بروزرسانی و حذف نقش
Assignment - CREATE UPDATE AND DELETE ROLE Components
RolePermissions Component and ViewModel-کامپوننت RolePermissions و ViewModel
RolePermissions Component and ViewModel
RolePermissions Component - Properties and Fields-کامپوننت RolePermissions - ویژگیها و فیلدها
RolePermissions Component - Properties and Fields
RolePermissions Component - Methods Part 1-کامپوننت RolePermissions - متدها بخش 1
RolePermissions Component - Methods Part 1
RolePermissions Component - Methods Part 2-کامپوننت RolePermissions - متدها بخش 2
RolePermissions Component - Methods Part 2
RolePermissions Component - Methods Part 3-کامپوننت RolePermissions - متدها بخش 3
RolePermissions Component - Methods Part 3
RolePermissions Component - Methods Part 4-کامپوننت RolePermissions - متدها بخش 4
RolePermissions Component - Methods Part 4
RolePermission Component - Markup Part 1-کامپوننت RolePermission - نشانهگذاری بخش 1
RolePermission Component - Markup Part 1
RolePermission Component - Markup Part 2-کامپوننت RolePermission - نشانهگذاری بخش 2
RolePermission Component - Markup Part 2
RolePermission Component - Markup Part 3-کامپوننت RolePermission - نشانهگذاری بخش 3
RolePermission Component - Markup Part 3
RolePermission Component - Markup Part 4-کامپوننت RolePermission - نشانهگذاری بخش 4
RolePermission Component - Markup Part 4
RolePermission Component - Markup Part 5 Testing Success-کامپوننت RolePermission - نشانهگذاری بخش 5 تست موفقیت
RolePermission Component - Markup Part 5 Testing Success
RolePermission Component - Markup Part 6 Update-کامپوننت RolePermission - نشانهگذاری بخش 6 بروزرسانی
RolePermission Component - Markup Part 6 Update
RolePermission Component - Markup Part 7 Update Test Success-کامپوننت RolePermission - نشانهگذاری بخش 7 تست موفقیت بروزرسانی
RolePermission Component - Markup Part 7 Update Test Success
Profile Update Permission to Basic Role-مجوز بروزرسانی پروفایل به نقش پایه
Profile Update Permission to Basic Role
School Management Components-کامپوننتهای مدیریت مدرسه
School Management Components
School Endpoints Configurations-پیکربندی نقاط پایانی مدرسه
School Endpoints Configurations
نمایش نظرات