Let’s Build It: URL Shortener in .NET

Let’s Build It: URL Shortener in .NET

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 121 Lessons (16h 47m) | 3.80 GB

Learn how to build a production-ready URL Shortener, including conception, development and deployment

In this massive “Let’s Build It” course, Gui Ferreira will build an entire, production-ready URL Shortener system from conception to production deployment. The course will start with requirement analysis, move into system design, and then follow that up by setting up a development environment and continuous integration. It will then move to infrastructure as code and secrets management, and only after all the setup has been done properly will it move into coding an entire URL shortener using best practices. On top of that, the author will develop a client-side web application that will include best practices for telemetry and security. This is a unique opportunity to learn how a system can be built from scratch all the way to production.

Table of Contents

1 Welcome
2 What will you learn in this course
3 Who is the course for and prerequisites
4 Introduction
5 Functional requirements
6 Non-functional requirements
7 Section recap
8 Discovering the Short Url length
9 Designing the high-level architecture
10 Assigning technologies to the architecture
11 Introduction (2)
12 Creating and setting up the GitHub repository
13 Setting up GitHub environments
14 Creating the API Project
15 Creating GitHub Actions for API
16 Section recap (2)
17 Introduction (3)
18 What is Infrastructure as Code and Bicep
19 Writing Bicep scripts for URL shortener infrastructure
20 Deploying infrastructure to Azure with GitHub Actions
21 Deploying infrastructure to multiple environments
22 Deploying API with GitHub Actions
23 Section recap (3)
24 Introduction (4)
25 Deploying Azure Key Vault using Bicep
26 Integrating with Key Vault
27 Elevate GH Actions privileges to write permissions
28 Section recap (4)
29 Introduction (5)
30 Feature Design
31 Generating a short URL
32 Handling requests to create a Short URL
33 Adding input validation
34 Creating an API endpoint to create Short URLs
35 Deploying CosmosDB resources with Bicep
36 Storing URLs in CosmosDB
37 Increment token and avoid duplication
38 Demo
39 Section recap (5)
40 Introduction (6)
41 Feature Design (2)
42 Creating the Token Range API infrastructure
43 Setting up PostgreSQL for token management
44 Creating the Token Range API GitHub Action Workflow
45 Handling token range requests
46 Deploying the database schema
47 Creating an hosted service for range retrieval
48 Adding a retry policy with Polly
49 Demo (2)
50 Section recap (6)
51 Introduction (7)
52 Using Microsoft Entra ID for authentication
53 Deploying Entra ID resources using Bicep
54 Configuring Entra ID application for the API
55 Giving permissions to GitHub Action deploy EntraID Application
56 Adding JWT authentication with Entra ID in API
57 Accessing user identity in the API
58 Section recap (7)
59 Introduction (8)
60 Deploying the Redirect API using Bicep
61 Creating the Redirect API GitHub Action Workflow
62 Implementing URL redirection logic
63 Setting up Azure Redis Cache
64 Using Redis Cache for better performance
65 Demo (3)
66 Section recap (8)
67 Introduction (9)
68 Addressing data challenges
69 Setting up Azure Function for data processing using Bicep
70 Creating GitHub Action for Azure Function
71 Implementing CosmosDB Trigger Azure Function
72 Adding a List endpoint to the API
73 Add pagination using Continuation Tokens
74 Demo (4)
75 Section recap (9)
76 Introduction (10)
77 What is React.js
78 Creating the React Project
79 Deploying Azure Static Web App using Bicep
80 Configuring the Web Application in Microsoft Entra ID
81 Creating GitHub Action for Static Web App
82 Integrating MSAL.js for Entra ID authentication
83 Enable CORS on Api
84 Listing URLs in the UI
85 Applying style to the Components
86 Building a form to create a short URLs
87 Section recap (10)
88 Let’s practice
89 Solution
90 Introduction (11)
91 What is a Health Check
92 Implementing a HealthCheck
93 Applying Health Checks across all services
94 Configuring Health Checks using Bicep
95 Section recap (11)
96 Introduction (12)
97 What is OpenTelemetry
98 Configuring Application Insights and Log Analytics workspace with Bicep
99 Adding OpenTelemetry to services
100 Collecting Request Metrics
101 Demo (5)
102 Section recap (12)
103 Introduction (13)
104 What is Azure FrontDoor
105 16.3
106 Configuring the Health Probe
107 Adding a Rate Limit Rule with WAF to Front Door
108 Setting up a custom domain with Front Door
109 Demo (6)
110 Section recap (13)
111 Introduction (14)
112 Setting up a Virtual Network
113 Adding services to the Virtual Network
114 Allowing FrontDoor requests
115 Implementing access restrictions for CosmosDB
116 Implementing access restrictions for Redis
117 Implementing access restrictions for PostgreSQL
118 Allowing GitHub Action deployments to App Services
119 Implementing access restrictions for KeyVault
120 Section recap (14)
121 Conclusion

Homepage