Course Highlights
  • Build real-world applications with ASP.NET Core and Angular 2
  • Integrate ASP.NET MVC / Core with Angular 2
  • Implement a clean and decoupled architecture
  • Understand and apply the Dependency Inversion Principle (DIP)
  • Properly implement the repository and unit of work patterns
  • Use the new dependency injection feature in ASP.NET Core
  • Troubleshoot common runtime errors
  • Build APIs with ASP.NET Core
  • Test APIs using PostMan
  • Use AutoMapper
  • Store and retrieve data using Entity Framework Core (Code-first approach)
  • Implement CRUD operations (including one-to-many and many-to-many relationships)
  • Implement filtering, sorting and pagination
  • Handle and log errors
  • Display toast notifications
  • Implement photo upload with progress bar
  • Add authentication and authorization using Auth0 and JWTs
  • Write clean, maintainable and reliable code
  • Refactor bad code into good code
  • Better understand software development lifecycle
Skills you will learn!
Curriculum

18 Topics
Introduction
The Scope
Prerequisites
Application Requirements
An Important Note
Setting Up the Development Environment
Installing SQL Server on macOS / Linux
Creating a New Project
Project Structure
Application Startup
Environments
.NET Watch Tool
Debugging in VSCode
Working with Git
Use Cases
Social Talk
Downloading the Source Code
Asking Questions

14 Topics
Introduction
Implementation Options
Building the Domain Model
Adding Entity Framework Core
Creating a DbContext
Using Configuration
Creating the Database
Applying Constraints
Seeding the Database
Building an API
Common Runtime Errors
API Resources
Using AutoMapper
Challenge 2

13 Topics
Introduction
Adding a New Angular Component
Creating a Route
Using Bootstrap Forms
Creating a Service
Populating Drop-down Lists
Implementing Cascading Drop-down Lists
Rendering Dynamic Check Boxes
Refactoring: Merging Services
Discussion: Merging Controllers
Adding Radio Buttons
Adding Text Boxes
Challenge 3

16 Topics
Introduction
Revisiting the Domain Model
Extending the Domain Model
Dealing with Many-to-many Relationships
Building an API to Create Objects
API Resources vs Domain Classes
Creating an API Resource
Mapping API Resources to Domain Classes
Adding a Record to the Database
Implementing Server-side Validation
Building an API to Update Objects
Mapping Collections
Refactoring: Using LINQ
Building an API to Delete Objects
Building an API to Get Objects
Challenge 4

18 Topics
Introduction
Separating API Resources
Refactoring: Separating API Resources
Refactoring: Using KeyValuePairResource
Changing the Return Type of APIs
The Repository Pattern
Dependency Injection
Decoupling from Entity Framework
The Unit of Work Pattern
Fixing a Few Bugs
False Argument 1: Repository over Repository
False Argument 2: Increased Complexity
False Argument 3: Simple or Complex Apps
False Argument 4: Repository Coupled to Entity Framework
False Argument 5: Persistence Model
Dependency Inversion Principle
Layers vs Tiers
Challenge 5

18 Topics
Introduction
Binding the Drop-down Lists to the Model
Binding the Checkboxes
Binding the Textboxes
Submitting the Form
Client-side Validation
Displaying Toast Notifications
Global Error Handling
Zones in Angular
Logging Errors
Development vs Production Environment
Implementing Editing
Sending Parallel Requests
Creating Interfaces
Populating the Form
Implementing the Update
Implementing the Delete
Challenge

19 Topics
Introduction
Code Review: Vehicles List
Adding the Filters
Filtering on the Client
Filtering on the Server
Passing the Filters to the Server
Sorting on the Server
Refactoring: Using Dictionaries
Refactoring: Extract Method
Refactoring: Using Extension Methods and Generics
Sending the Sort Parameters to the Server
Adding the Sort Icon
Rendering the Columns Dynamically
Paging on the Server
Adding a Pagination Component
Calculating the Total
Edge Cases
Challenge 7
Additional Reading

15 Topics
Introduction
The Approach
Code Review
Extending the Domain Model
Building an API
Testing the API
Adding Validation
Refactoring to Use Configuration
Building the Client-side
Rendering the Uploaded Photos
Tracking the Upload Progress
Adding a Bootstrap Progress Bar
Fixing the Memory Leaks
Handling the Errors
Challenge 8

24 Topics
Introduction
Requirements
Architecture
Setting Up an Auth0 Account
Securing APIs
Inspecting a JSON Web Token (JWT)
Securing Client Apps
Login and Logout
Using Hosted Login Pages
Setting the Audience for the Token
Exercise
Getting the User's Profile
Clarifying the Scope
Adding Additional Signup Fields
Using Rules
Assigning Users to Roles
Returning Custom Claims
Showing/Hiding Content Based on the User's Role
Refactoring
Protecting Routes
Calling Secured APIs
Restricting API Access to Certain Roles
Implementing the Authorization Requirements
CSRF Attacks

7 Topics
Adding Charts
Optimizing Queries
Fixing a Bug
Extracting a Service Layer
Supporting Multiple Storages
Using the Secret Manager
Coupon to My Other Courses

  Write a Review

Build a Real-world App with ASP.NET Core and Angular 2 (4+)

Go to Paid Course