گذراندن دوره های Programming In C# (1) و Web Fundamental یا تسلط به مطالب دوره های مذکور
فناوری ASP.NET Core پلتفرمی یکپارچه و دارای کدهای باز Open-Source بوده که قابلیت اجرا روی سیستم عامل های Windows, Linux, Mac را دارد و بر اساس آخرین ارزیابی های انجام شده TechEmpower Framework Benchmarks در لینک https://bit.ly/3SGPI9R این فریم ورک توانسته است بالاترین سطح کارایی را نسبت به سایر فریم ورک های موجود از قبیل Node.js, Java Servlet کسب نماید.
همچنین توسعه روز افزون فناوری های فرانت، منجر به ظهور فریم ورک قدرتمند با عنوان Angular شده که آنرا شرکت گوگل ارایه نموده است و می تواند در بالاترین سطح کیفیت نیازمندی های توسعه نرم افزار را در بخش فرانت تامین نماید.
از طرفی طی ارزیابی منتشر شده توسط Stack Overflow در لینک https://bit.ly/3QHBEKZ زبان های برنامه نویسی C#, TypeScript نیز توانسته اند بیشترین میزان رشد محبویت را در سطح برنامه نویس ها کسب نمایند. بدیهی است تلفیق تکنولوژی های قدرتمند و محبوب فوق می تواند تجربه بسیار جذاب و هیجان انگیزی را در توسعه نرم افزار ایجاد نماید.
تمامی افرادی که علاقه مند به یادگیری و تولید برنامه های Web-Based می باشند، می توانند در این دوره شرکت نمایند. بازار کار امروز بدلیل رقابتی شدن، انتظار داشتن مهارت های بسیار زیادی را حتی از مبتدیان این رشته دارد که یادگیری آنها نیازمند زمان و هزینه قابل توجهی می باشد! پس چه باید کرد ؟ ما بر اساس تجربه و شناخت دقیق بازار کار و محدودیت های اقتصادی در حال حاضر، تلاش کردیم دوره ای را طراحی نمائیم که با رویکرد پروژه محور و اجتناب از تئوری پردازی محض، در کوتاه ترین زمان مهارت های مذکور را آموزش دهد.
در انتهای دوره فراگیران توانایی طراحی فرم های اطلاعاتی با استفاده از انگولار متریال، کار با کنترل های پیشرفته نظیر جدول و دیالوگ، اعتبارسنجی دادها، پیاده سازی سرویس های ارسال و دریافت اطلاعات، ایجاد مدل های اطلاعاتی سمت فرانت اند/بک اند، ساخت بانک اطلاعاتی در محیط SQL Server با رویکرد Code First، آشنایی با بعضی از اصول مهندسی نرم افزار نظیر SOLD, DRY, PI, SoC, IoC، الگوهای طراحی نظیر Factory, Builder, Chain Of Responsibility, Repository, Result، معماری های Monolith Modular, Clean، نیازمندیهای امنیتی داشته باشند و در نهایت همه موارد فوق را از طریق ساخت یک پروژه عملی تجربه نمایند.
Introduction
o
ASP.NET Core
o
TypeScript
o
Angular
Development IDE
o
Visual Studio Code and Required Plugins
o
.NET 8.0 SDK
o
Node.js
Part 1 – Backend
ASP.NET Core Fundamentals
o
Dotnet-CLI Command
o
Create new project
o
Overview project structure
o
Top-level Statement
o
File Scoped Namespace
o
Global Namespace
§ Implicit
§ Explicit
§ Custom
o
Program
Middleware
o
Middleware
o
Request delegate
o
Async/await
o
Register Middleware
o
Register Priority
o
Create Custom Middleware
o
Middleware Pipelining
o
Middleware Extension
o
Built-In Middleware’s
Service Provider
o
Service Provider
o
Create Service Instance
o
Dependency
§ Structural
§ Behavioral
o
SOLID Principals
o
Dependency Inversion Principal
o
Inversion of control
o
Dependency Injection
§ Constructor
Injection
§ Method Injection
§ Property
Injection
o
Dependency Graph
o
Object life cycle
o
Service Extension
o
Application Configuration
§ Launch
§ Setting
§ Command line
arguments
o
Option Pattern
§ Option Setting
§ Option Setup
o
Application Environment
§ Development
§ Production
§ Staging
RESTfull Service
o
Rest Architecture
o
Design aspect
o
RESTful
o
Controller, Action, Routing
o
Specific Type, IActionResult, ActionResult<T>
o
GET, POST, PUT, DELETE, PATCH
o
HTTP Status Code
§ Informational
§ Success
§ Redirection
§ Client Error
§ Server Error
o
Minimal API, Endpoint
o
Carter Framework
o
URI best practice
o
API Test Tools
§ Swagger
§ Postman
§ Thunder Client
Architectural Concepts
o
Monolithic application
o
All-in-one Project
o
Layers
o
Traditional "N-Layer"
o
Onion Architecture
o
DRY Principal
o
Domain-Driven Design (DDD)
o
Clean Architecture
Setup Catalog Service Project
o
Overview eShop Application
o
Creating Catalog Service
o
Add Presentation Layer
o
Add Application Layer
o
Add Domain Layer
o
Add Infrastructure Layer
Domain Layer
o
DDD Overview
o
Domain Primitives
§ Contracts
·
IEntity
·
IRepository
§ Abstraction
·
Entity
o
Domain Features
§ Product Features
·
Product Entity
·
Product Repository
Application Layer
o
Application Overview
o
Contracts
§ IProductManager
§ IUserManager
§ IPasswordService
§ IAuthenticationManager
o
Application Features
§ Result Pattern
§ Product Features
·
Implement Manager
·
Implement Mapper by AutoMapper
·
Implement DTOs with C# Record
·
Implement Validators with FluentValidation
·
Implement Data Services
ü Paging
ü Sorting
ü Filtering
ü Searching
§ User Features
Infrastructure Layer
o
Persistence
§ Faking with Bogus
§ Implement
Product Fake Repository
§ Add Entity
Framework Core
§ Implement
Product Configuration
§ Implement
Catalog Context
§ Implement SQL
Repository
§ Implement
Product Repository
§ Add Migrations
§ Update Database
o
Security
§ Add Microsoft
Identity Manager
§ Authentication
·
User Registration
·
User Login
·
JSON Web Token
ü Implement
Identity Token
ü User Claims
ü Token Handler
Presentation Layer
o
Add Carter Framework
o
Implement Product End Points
§ Add, Update,
GetById, Delete
o
Implement User End Points
§ Register, Login
Part 2 - Frontend
TypeScript
o
Basic Syntax
o
Object Oriented Programming
§
Class
§
Interface
§
Inheritance
§
Generic
o
Modular Programming
§
Class, Function, Variable, Constant Named or Default
Export
§
Import Module Item
§
Namespace
o
Functional Programming
§
Pure Function
§
Higher Order
o
Aspect Oriented Programming
§
Cross Cutting Concern
§
Decorator Pattern
o
Asynchronous Programming
§
Promise
§
async/await
o
Reactive Programming
§
RxJs
§
Observable
§
Subject
§
Operators
o
Webpack
§
Configuration
§
Building TypeScript Library
§
Publish Package
§
Creating NPM Repository
§
Publish Package to NPM
Angular
o
Project structure
o
Basic syntax
o
Building blocks overview
§
Module
§
Component
§
Directive
o
Template-Driven form
o
Reactive-Driven form
§
FormControl
§
FormGroup
§
ArrayControl
o
Service
o
Dependency Injection
o
HttpClient
o
Material
§
Field
§
Validator
§
Table
§
Dialog
o
Toastr
o
Routing
Setup Catalog UI Project
Components
o
Install Material Components
o
Design Layouts
o
Configuring routing
o
Product Components
§ Product List
§ Public Search
§ Add/Edit Dialog
Service
·
Reactive Forms
§ Delete and Confirmation
Message
§ Data Validations
·
Required
·
Length
·
Pattern
o
User Components
Models
o
Product
o
User
o
Token
Services
o
Product Service
o
User Service
o
Client-Side Storage