User registration interface implementation
Course Content
0 / 309 completedWhat we will develop
How we shall start implementations
Learning styles - Suggestions
Micro-Service Architecture review
Project Creation
Package Overview
Constants - Action
Permission access properties
Claim Constants
Permission Requirement
More Permissions
Permission Policy Provider
Push code to DevOps Repository
Permission Authorization Handler
Custom Authorize Attribute
Setting Up Azure DevOps Nuget Feed
CI-CD Pipeline
Package metadata
First pipeline run and Package release
Response wrapper interfaces
Response wrapper implementations - non generic
Response wrapper implementation - generic
Custom Validation Exception
Response wrapper implementation - generic success asynchronously
None Generic ToResponse extension method - nuget package
Response Wrapper extension
Package metadata
CI-CD Pipeline
Introduction
Solution Creation
Application Role and Role Claim
Packages Installation
Application User
Apply Configurations From Assembly
Db Context
Db Table Configurations
DI - Db Context
Identity Models - Theory
More Identity models
User registration request model
User role view model
EFcore Migration
Role Claims request models
Response Wrapper package release
Update Role Claims request
User registration command complete
Package update and CQRS
Package ID change
User registration command
Roles Constants
Update User method definition and command
User registration interface implementation
Additional User service definitions
Update User implementation
Get user by id implementation
Assign User to role
Userservice more methods implementations
Get User Roles implementation
Change User Password Command
Get User Roles implementation
Additional User commands
Update user roles implementation
Additional User queries
Delete Role implementation
Role Service Interface and Create Role implementation
Additional implementations
Role commands
Role Queries
User and Role services to DI
Update Role Permissions implementation
Seeder to DI
Seed Roles and Permissions
Get Role Permissions implementation
Token Service interface definition
Seeder test - DI Errors
Seed Users
Seed test - Complete
Token Service implementation part 1
Get Claims for token
Token Service implementation part 2
More token helpers
Token Service into DI
Token queries
Get Claim Principal From Expired Token
MediatR into DI
Login Endpoint
Refresh token endpoint
Add Authorization - dynamic permissions adding
Login test - pass
JWT Bearer Auth into DI part 1
Refresh token complete
Role Controller endpoints - Assignment
Role controller endpoints - Assignment solution
User controller endpoints
Swagger into DI
MediatR Pipeline overview - Request Validation
Validation without pipeline test - pass
Validation without pipeline
JWT Validation Parameters alignment and token testing - pass
Pipeline to DI and test - pass
Validation pipeline behaviour implementation
Api Gateway Overview
Project creation
Ocelot Repository overview
Ocelot into DI
Packages installation
Login endpoint - config
Login Test
Postman Collection setup
API Gateway Landing Page
Permissions into DI - Add Identity Settings
Gateway Authentication part 2
Gateway Authentication part 1
User register endpoint - testing
Postman Post-Response Script
User registration Upstream and Downstream config
Service Unavailable - The problem
Service Unavailable - Middleware testing
Upstream and Downstream routes - Get user by id
Service Unavailable - Middleware to include domain name
Service Unavailable - Middleware implementation
Source code to repository
Service Unavailable - Middleware domain inclusion test
Where we are now - Arch catchup
API Gateway CORS into DI
Product Service overview
System Assumptions - Clarified
The Solution
EFCore packages
Entites Definitions
Application Db Context
Product service request models - nuget package
Product service response models - nuget package
Packages installation
Image and Product services definitions
Brand Service Definition
Product service implementation - Create product
Product Service implementation Complete
Brand Service Implementation - Assignment
Interfaces into DI
Brand Service Implementation - Solution and Update Product refactoring
Image Service implementation - Complete
Packages into DI
Validation Pipeline - Copy and Paste
Create Brand Command
Create Brand controller endpoint
Db Migration
Create Brand Command Validators
Create Brand command validation - Test
Update brand command
Update brand request and controller endpoint
Domain level validation fix
Update brand request validator
Update brand endpoint - test with errors
Update brand command - test change tracker errors
Change tracker - clean solution
All level security implementation - Explanation
Permission Attribute used
Package - Auth upgrade in Identity Service
Updating Auth Library with Product service permissions
Product service pushed to repository
API Gateway - Product service brand endpoints
Dev Machine switching - Video and Audio in sync
Create Brand - Endpoint testing success
Product Service - Postman endpoint config
Configuring Authorization in Product Service
Push changes to repository
Update Brand - Endpoint testing success
Progress Overview
Assignment 01 - Brand additional endpoints
API Gateway - Create product endpoint config
Create Product endpoint
Create Product Command
Create product postman config and test - success
Create Product request validator
Create Product validation postman - test success
Create Product Command Validator
Update product command and endpoint - complete end to end
Update Product validators postman tests - success
Update Product validators
Delete Product command and endpoint
Delete Product endpoint postman test - pass
Get Product by Id Query
Get Product by id controller endpoint and postman testing - success
Redis Cache installation
Cache Pipeline part 1
Get all products query endpoint and end to end testing - success
Cache Configurations
Redis cache into DI
Where we are
Query caching config
Cache behaviour testing - error and success
Cache Pipeline part 2
RabbitMQ Installation
MassTransit Packages Installation
Updated Package installation
Adding Product created event to nuget package
Event publisher interface
Event Publisher implementation and DI
RabbitMQ into DI
Product created event - command
RabbitMQ second look
Where we are now
Product created event - published to RabbitMQ
Product deleted event - end to end
Product Quantity Technical debt
Inventory Item Entity definition
Projects creation
Identity Service - Packages update
Migration
EntityFrameworkCore configs
MassTransit Packages installation
Product create event consumer
Product Created Event - Consuming test success
Inventory Service - Auth Constants onboarding
RabbitMQ into DI
Inventory interface definition and implementation - into DI
Inventory item Model - nuget package
Helpers for barcode generation and request parameter buildup
CreateInventoryItemCommand implementation
MediatR into DI
Product created event - consuming and creating inventory items test - success
ProductDeletedEventQueue consumer intro
Product deleted consumer - completed and into DI
ChangeInventoryItemStatusCommand implementation and interface methods changes
Announcement - Supplier Service Exclusion
Product Deleted event consumer test - success
Delete Item command implementation
GetInventoryItemsByProductIdQuery - implementation
GetInventoryItemByIdQuery - implementation
GetInventoryItemsQuery - implementation
All endpoints
Endpoints protection by attribute
Authentication config
API Gateway routes config
ChangeItemStatus - endpoint
Inventory Endpoint - Postman config
ChangeInventoryItemStatusCommand - endpoint test success
DeleteItemById - endpoint and testing success
Inter service communication intro
Inventory Items endpoint testing - refactoring
ChangeInventoryItemStatusCommand - Separate implementation
Package upgrade
TokenForwardingHandler - implementation
Register Named HttpClient - Config into DI
GetInventoryItemByIdQueryHandler - Product Service integration
GetProductByIdAsync definition and implementation
GetInventoryItemByIdQueryHandler - Product Service integration test success
Product Service Cleanup - RabbitMQ Values to configuration
Inventory Service Cleanup - RabbitMQ Values to configuration
Projects Creation
Notification entity
EFCore ORM configuration
Migration - success
Notification models package release
Packages installation in Application layer
CreateNotificationCommand - part 1
CreateNotificationCommand - part 2
RabbitMQ Consumer
SendGrid signup
RabbitMQ into DI
IEmailSender definition and SendGrid Package installation
EmailSender - Template generation
Email Settings config
UseStaticFiles middleware
EmailSender implementation complete
IEmailSender into DI and RabbitMQ Multiple consumer config
Email notification entry to database
Email sending test
Email notification entry to database - test success
Get all notification endpoint
Get All Notifications - query
Notification permissions into Auth library
Notification gateway config and postman test - success
Push Notification Service into Repository
Security addition
Azure Resources Overview
AppServices recap
Resource Group and Identity AppService
API Gateway AppService and Overview
SQL Database Server
Product Database - Migration
Databases
Identity Database - Migration
Inventory and Notification databases - migration
Azure Cache for Redis
DevOps Settings - Release visibility
Azure ServiceBus
DevOps - Service Connection
Identity Service Post deployment verification
Build Pipeline - Identity Service CI
Release Pipeline - Identity Service CD
Adding custom configurations via release pipeline - part 1
Seed in all environment and Environment Variables config prioritization
Product Service CI-CD part 1
Switch from RabbitMQ to ServiceBus - Explaination
Adding custom configurations via release pipeline - part 3 Testing success
Product Service - ServiceBus Implementation part 1
ServiceBus Topic and Subscriptions
Adding custom configurations via release pipeline - part 2
ServiceBus Subscriptions filters - Implementation Event Name header
Notification Service - ServiceBus usage
ServiceBus Subscriptions filters - Testing success
API Gateway Configurations code update
API Gateway Configuration - Syntax explanation
Notification Service - ServiceBus Usage complete and test success
API Gateway Postman testing Post deployment - Success
Review and closing lines
API Gateway manual config and deployment - success