Getting Started
  • 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
Building APIs Using ASP.NET Core
  • 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
Building Forms with Angular and Bootstrap
  • 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
Implementing CRUD Operations
  • 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
Refactoring Towards the Clean Architecture
  • 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
Populating and Submitting Forms
  • 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