Dotnet Full Stack Development

Prerequisites

Basic programing skill, basics HTML ,css, java Script

Learning Objectives

This training program will help participants to learn complete Full Stact Developer. Its End to end traing of a complete projects.

  • Daily Handson
  • Weekly MCS test
  • capstop assignment.

Content Outline

Introduction to Databases,

  • Understanding Database concepts and terms
  • Introduction to DDL, DML, and DCL statements
  • Creating and working with Tables

Understanding SELECT queries,

  • Defining SELECT queries
  • Working with WHERE and ORDER BY
  • Working with Aggregate Functions
  • Working with Sub Queries
  • Understanding and working with JOINs

Controlling and Manipulating Data,

• INSERT statement
• UPDATE statement
• DELETE statement

Programming Objects,

• Declaring Variables and Objects
• Creating and Using VIEWs
• Stored Procedures
• User-Defined Functions

Introduction to HTML5,

• Key HTML5 concepts
• Form Controls, Introduction to CSS, • Understanding CSS concepts
• Defining CSS for
o Identity
o Element
o Class
• Referring to External CSS documents
• Working with CDN
• Working with CSS Fonts

Introduction to JavaScript and jQuery,

• Introduction to JavaScript concepts
• Understanding the DOM
• DHTML and manipulating the HTML5 Document
• Validating UI
• Working with external JavaScript libraries like jQuery and jQueryUI

Introduction to GitHub, 

•  What is Source Code Versioning (SVN)
•  Introduction to Git and GitHub
•  Understanding Markdown Documents and MD Formatting
•  Understanding how GitHub works, Setting up the GitHub Repo ,
•  Setting up the GitHub Project
•  Configuring Visual Studio , Basic Git Concepts ,
•  GIT INIT
•  GIT CLONE
•  Basic Git Workflow (ADD, COMMIT, PULL and PUSH)
•  Ignoring and Deleting Files , Tracking Changes ,
•  Tracking Files and Git History
•  Comparing Files using the Visual Merge/Diff Tool
•  Working Directory Vs. Staging Area Vs. Git Repository

TASKS, 

•  Understand and Define the Project Scope
•  Planning the Timeline and Milestones to the Project Scope using JIRA
•  Defining the GitHub Repo for the project
•  Designing the Database Structure and Test Data
•  Designing the UI (using HTML5, CSS3, BootStrap5, and jQuery)
•  Reviewing each participant’s project repo
•  Conduct a Comprehensive POST TRAINING TEST for HTML5, CSS3, BootStrap5 and jQuery

Introduction to Development Models , 

•  Application Development Models
o  The Desktop model
o  The Client-Server model
o  The Web model
•  Advantages of the Web Application Model
•  Client-Side Scripting Vs. Server-Side Scripting
•  Tools and Environments for developing a Web Application
•  Role of the IIS

Introduction to the .NET, 

•  Overview of ASP.NET
o  Introduction to Common Language Runtime (CLR)
o  Introduction to the Common Type System (CTS)
o  Introduction to the Common Language Specifications (CLS)
o  Compilation
o  Just-In-Time (JIT) Compilation
•  Managed Code Vs. Unmanaged Code
•  .NET Platform Vs..NET Framework Vs. .NET Standard Vs..NET CORE 

Using Microsoft Visual Studio .NET ,

•  Overview of Visual Studio .NET
•  Creating a Console Application Project
•  Creating a desktop Windows Forms Project
•  Recommended Practices
o  Comments and Documentation
o  Naming Conventions
•  Compiling, Running, and Debugging

• Using Built-In Data Types
• Creating User-Defined Data Types
• Converting Data Types
• Typecasting
• Checked and Unchecked
• Boxing and Un-boxing data types

Methods and Parameters using C#
• Using Methods
• Using Parameters
• Using Overloaded methods
 

Essentials of Object-Oriented Programming in C#


• Classes and Objects
• Using Encapsulation
• C# and Object-Orientation
• Defining Object-Oriented Systems
o Namespace
o Class
o Data Field
o Property
o Method
o Indexer
o Constructor
o Destructor
 

Language Enhancements in C# - Advanced concepts, continued


• Managing inheritance and Polymorphism
o Sealed
o Abstract
• Partial Classes
• Understanding Class Libraries
• Understanding and working with NuGet packages
 

Key Language Enhancements in the C# 3.0


• Implicitly typed local variables
• Extension methods
• Object Initialization Syntax
• Collection Initialization Syntax
o Working with Custom Collections
• Lambda expressions
• Query expressions
• Expression Trees
• Anonymous Types
• Partial Methods
• Generics
• LINQ
 

Key Language Enhancements in the C# 4.0


• Dynamic Data Types
• Named Arguments
• Optional Arguments

Multi-Threading and Parallelism in C#


• Understanding Threads
• Handling Multi-Threaded Code
o Addressing Thread Safety
• Working with Object Locks

Introduction to Windows Forms


• Introduction to Windows Forms Project
• Designing the UI
• Handling events
• Designing User Controls
 

Advanced Multi-Threading Concepts


• Understanding the UI Thread
• Working with Background Worker
• Working with the Dispatcher
• Handling Application Level Exceptions
 

Key Language Enhancements in C# 5.0


• Working with the Task Parallel Library (TPL)
o Parallel Extensions
o Parallel Extensions into LINQ
• Tasks
• Understanding and working with the Async / Await Feature
• Caller Information


Understanding Component Development LEVEL 4


• IDisposable
• INotifyPropertyChanged
• INotifyCollectionChanged
• Understanding and Implementing Custom Observable Collections
 

Key Language Enhancements in C# 6.0


• Expression Bodied Methods
• ?-Conditional Access Operator
• Auto-Property Initializers
• Primary Constructor
• OUT Parameter Declaration During Method Call
• Await in the Catch Block
• Exception Filters
• Using <StaticClass>
• String Interpolation

Key Language Enhancements in C# 7.0


• out Variables
• New Tuples feature
• Discards
• Pattern matching
o is expression
o switch expression
• Ref locals and returns
• Local functions
• Expression-bodied members
• Throw expressions

Key Language Enhancements in C#


• Readonly members
• Default interface methods
• Pattern matching enhancements:
o Switch expressions
o Property patterns
o Tuple patterns
o Positional patterns
• Using declarations
• Static local functions
• Nullable reference types
• Indices and ranges
• Null-coalescing assignment
 

TASKS

•  Using the C# concepts, design a comprehensive Project demonstrating concepts learnt so far.
•  Add the needed documentation to the project code repo
•  Review each participant’s project
•  Conduct a Comprehensive POST TRAINING TEST for C# concepts
 

TASKS

•  Using the C# concepts, design a comprehensive Project demonstrating concepts learnt so far.
•  Add the needed documentation to the project code repo
•  Review each participant’s project
•  Conduct a Comprehensive POST TRAINING TEST for C# concepts
 

• Visual Studio Project Templates
o Web Site
o Web Application
o .NET Core Web App
o SPA
• Understanding the Project Template Structures
• Web Configuration Files
 

Understanding and Working with Controllers


• Understanding Patterns: MVC Vs. MVP Vs. MVVM
• Introduction to Controllers
• Routes and Controllers
• Actions and Parameters
• Action Results
• Action Filters
 

Views


• Introduction to Razor View Engine
• Razor Basics
o PageModel (Razor Pages)
o PageViewModel (Razor Views)
• Code Expressions
• Code Blocks
• Layout Views
• Partial Views

Module 32: Key ASP.NET Layout Concepts


• Working with Bootstrap 4.x and 5
• Understanding and working with the ASP.NET Layout Views
• Understanding the Site Design and working with Bootstrap
o Responsive Designing with HTML5 using BootStrap5 and jQuery
o Layout components (Page design, Menu, Header, Footer, and Sections)
o HTML5 Form Layout concepts
o HTML Helpers
o ASP.NET Tag Helpers
 

Advanced ASP.NET Layout Concepts


• Client Libraries and LIBMAN
o Leveraging JavaScript and jQuery client libraries
o Bundling and Minification
• Key Nuget Package references
Unit Testing and Test-Driven Development (TDD) of the UI - Using Cypress
• Testing the UI using Cypress.JS
• Creating and Automating Tests using the Browser
 

Understanding EF Core and Models and Validation


• Key Entity Classes
o Data Context
o Data Models
• Attributes and using Data Annotations for Validation
• Creating Custom Validation Attributes

Model Binding and View Model


• The role of the Model Binder
• View Model Vs. Domain Model Vs. Data Model
• State Management in ASP.NET 5 – ViewData, ViewBag, and ViewModel
 

Advanced Concepts in Entity Framework Core


• Key Entity Classes revisited
• Understanding the differences between Database-First and Model-First Approach
• Understanding and working with Data Migrations and addressing Versioning of Data
o Importance of Code Migrations
o Working with Enumerations in EF Core
o Seeding the Database
o Data Versioning
• Working with Stored Procedures
 

TASKS


• Implement the concepts covered in previous modules into the Project
• Design the Data Models as per the Database Structure defined in Project #1
• Define the Seed Data using the Test Data defined in Project #1
• Designing the UI using Razor Views
• Define the UI Tests using Cypress JS
• Conduct a Comprehensive Project on .NET, ASP.NET, and EF CORE
 

Integration with API
• JavaScript, AJAX, and JSON
o AJAX and working with Remote API
o Leveraging upon HTML5 Location API


• Defining an API
o Implementing the API to handle HTTP REST API for CRUD operations
• Providing Swagger documentation to the API using Swashbuckle

Integrating to the API using Vanilla Browser Technologies
o Designing a Static Content Web Project using HTML5, CSS3, JavaScript, jQuery, Bootstrap
o Data binding the UI and performing CRUD operations with the Web API using Native JavaScript
 

Unit Testing and Test-Driven Development (TDD)
• Understanding Test Driven Development using xUnit
• Test-Driven Design
• Controller Tests
• Creating Action Tests
• Creating and Automating Tests using the Visual Studio Test Studio

Advanced xUnit Concepts
• Understanding the need for Mocking
• Setting up the Mocking Framework
• Running Scenario-based Tests to the ASP.NET Application and the API
• Understanding the Test Results
 

Securing the Application Using OWIN
• Understanding OWIN and OAuth
• Wiring up the Security Model for the Application
o Authentication
o Authorization using Roles
o Introduction to Claims and Permissions
• Adopting Key Security Features
o Handling Cross-Site Request Forgery (XSRF) attacks
o Addressing SQL Injection Attacks
o Defining Cross-Origin Resource Sharing (CORS) policies
o Adopting GDPR Compliance
• Logging and Audit Procedures
• Configuring an Email Provider Service
 

TASKS
• Add API to the Project
• Add documentation to the API using Swagger
• Secure the Application using OWIN
• Implement xUnit Tests
• Conduct a Comprehensive POST TRAINNIG TEST on WEB API and xUNIT


 

TypeScript and ECMAScript (ES6)
• Understanding TypeScript and ECMAScript
• Understanding Prototypes
• Classes
• Properties, Methods, Events, and Constructors
• Scoping and Modules
• Understanding and Working with Promise
• Transpiling TypeScript
 

Introduction to Angular
• What is Angular?
• Project Setup
o Typical Angular Project Setup
o Angular 8 in Visual Studio 2022
• How Angular works
• Angular Modules
• Angular Components
• Templates and Styles
 

Advanced Angular Concepts
• Routing
• Observables
• Components and Databinding
• Services and Dependency Injection
 

Advanced Angular Concepts
• Data binding the UI and performing CRUD operations with the Web API using Angular
• Enriching the UX
 

TASKS
• Design the Client-Side Stack using Angular 8 for the API implemented in Project #4
• Finish the Project
• Complete the Documentation associated to the Project
• Conduct a Comprehensive POST TRIANING TEST on Angular 

TASKS
• Design the Client-Side Stack using Angular 8 for the API implemented in Project #4
• Finish the Project
• Complete the Documentation associated to the Project
• Conduct a Comprehensive POST TRIANING TEST on Angular 

TASKS
• Review the Application Stack for each of the participants.
 

Send a Message.


  • Enroll