PROFESSIONAL Full Stack Developer

54h 23m 35s
English
Paid
November 1, 2023

Are you ready to level up your coding skills and become a full stack professional? Our new 50+ hours course is designed to equip you with the latest tools and techniques to build impressive, full stack applications that will impress the users and your team.

More

Over the next three months you will learn how to craft stunning, responsive front-end interfaces that flawlessly communicate with robust, scalable back-end servers, all with the use of industry-standard technologies such as:

  • Spring Boot 3
  • HTTP & API development
  • Developer tools for maximum productivity
  • Robust error handling techniques
  • Databases & PostgreSQL
  • Spring Data JPA
  • Flyway for seamless database migrations
  • JDBC for efficient database communication
  • Testing strategies for robust, reliable code
  • Docker for containerization and deployment
  • AWS for cloud-based hosting and scaling
  • DevOps best practices for agile, collaborative development
  • JavaScript and React for front-end development
  • Spring Security 6 for secure, authenticated applications
  •  Login/Registration systems for user management
  • TypeScript for type-safe, scalable code
  • Angular for powerful, responsive front-end interfaces

Who is the course for?

Learning full-stack development can be challenging, especially for beginners and professionals new to the service-oriented architecture.

Hence, the Full-Stack Professional course was designed to provide a comprehensive step-by-step learning package, suitable for anyone with basic programming knowledge and experience in at least one programming language.

Whether you're a professional programmer looking to expand your skill set or a beginner looking to get started in the world of programming, our course will teach everything you need to building complex web applications from start to finish.

Watch Online PROFESSIONAL Full Stack Developer

Join premium to watch
Go to premium
# Title Duration
1 Java Master Class 02:16
2 The Next Steps 00:59
3 Practise as I teach (TODO's) 01:55
4 Discord 01:10
5 Linkedin 00:38
6 Textbook 02:33
7 Exercises and Textbook 01:36
8 Exercise Solutions 01:06
9 Commit Your Changes 02:10
10 Linux and Terminal 02:36
11 IntelliJ 6 Months 01:36
12 Intellij New Theme 00:59
13 What we are about to cook (Project and Environment Setup) 01:38
14 Spring Initiliazer 02:57
15 Open the project with IntelliJ 02:05
16 pom.xml 02:28
17 Lets clean up few things 02:18
18 JDK 02:48
19 Your first Spring Boot Application (Getting Started with Spring Boot 3) 04:11
20 Embedded Web Server 03:09
21 Configuring Embedded Web Server 04:48
22 Your first API 02:55
23 @SpringBootApplication @RestController and @GetMapping 06:07
24 Spring Web MVC 05:46
25 JSON For Java 07:18
26 Java Objects to JSON Objects 05:26
27 Introduction to HTTP (HTTP, REST and APIs) 04:12
28 The Evolution of HTTP 03:15
29 HTTP Request and Response Messages 03:49
30 HTTP Methods 04:44
31 HTTP Status Codes 06:33
32 URL 09:01
33 API and REST API 03:38
34 Public APIs and Other Types 06:38
35 Why build APIs 02:56
36 Chrome Developer Tools (Developer Tools) 07:07
37 Exploring XHR for our API 04:35
38 Inspecting Instagram Network Activity 09:29
39 Postman 03:50
40 IntelliJ REST Client 05:09
41 CRUD and Section Overview (CRUD - Read) 02:05
42 Customer Model 02:30
43 Fake Database 03:27
44 API Endpoint 05:55
45 @PathVariable 07:57
46 N Tier Architecture (Structure the Backend) 02:02
47 Refactor - Controller Service and DAO 10:40
48 @RestController @Service @Repository @Component 07:03
49 Application Context (Application Context and Beans) 04:58
50 Inspecting beans 05:09
51 Bean Scopes 02:23
52 Creating Beans 07:49
53 We are not handling error the right way (Error Handling) 01:57
54 Custom Exception 05:02
55 @ResponseStatus 02:28
56 Include error Message to Responses 02:04
57 Section Intro (Databases) 00:51
58 Postgres and Docker 02:18
59 Verifying Docker Installation 02:27
60 Postgres DB with Docker compose 04:26
61 Connecting to Database 01:34
62 Connecting to DB using IntelliJ IDEA 03:23
63 Data Source & JPA 02:31
64 Installing PostgreSQL Driver and Spring Data JPA Dependencies 03:00
65 Configuring Datasource Properties 04:49
66 Create Customer Table 04:51
67 Outro 01:22
68 Entity (Spring Data JPA) 03:45
69 Inspecting The Database 02:29
70 Column Contraints 02:32
71 CustomerRepository 02:26
72 CustomerJPADataAccessService class 02:03
73 @Qualifier 02:48
74 Saving Entities 04:32
75 Exploring JPA Methods 03:44
76 Outro 02:04
77 The Problem (Get Customer By Id Exercise) 01:04
78 Exercise Solution 01:42
79 Intro (CRUD - Create) 01:36
80 Changing CustomerDao Interface 00:51
81 Override insert customer 01:28
82 Business Logic for Adding new Customer 08:36
83 Controller @RequestMapping and @RequestBody 02:46
84 Testing POST Request 04:07
85 Exercise (CRUD - Delete (Exercise)) 01:40
86 Exercise Solution 02:35
87 Exercise (CRUD - Update (Exercise)) 03:23
88 Exercise Solution 05:03
89 Few Words (Let's Pause) 01:18
90 Intro (Datasources, JDBC & Flyway) 01:52
91 JPA and Hibernate under the hood 03:12
92 JDBC and JDBCTemplate 04:44
93 DataSource and Connection Pools 06:37
94 Flyway and Liquibase 03:38
95 Flyway (Flyway) 06:21
96 Installing Flyway 00:49
97 Applying and Understanding Flyway Migrations 11:28
98 Lets Start Again but Right 03:45
99 Create Customer Table 04:23
100 Inspecting the Customer Table 03:19
101 Working with Sequences 06:59
102 Exercise 01:35
103 Exercise Solution 04:33
104 Migrations Documentation 02:45
105 Match Entity Containts schema 04:36
106 Validating Schema With Hibernate 05:28
107 Exercise Solution 06:39
108 Intro (JDBC Template) 01:16
109 CustomerJDBC class 03:47
110 JDBC Template Documentation 02:28
111 Insert Customer 03:53
112 Test Insert Customer 03:49
113 Select All Customers 05:31
114 RowMapper and ResultSet 04:50
115 Refactor Row Mapper 02:22
116 Exercise 00:40
117 Exercise Solution 04:04
118 Exercise 00:46
119 Exercise Solution 08:19
120 Why multiple DAO implementations 04:18
121 More on databases later 01:20
122 When to use JDBC over JPA (Spring JDBC vs JPA) 04:09
123 Would you ? (Important Question) 02:18
124 Intro (Testing - Setup) 02:44
125 Testcontainers 02:57
126 H2 01:26
127 Intalling Testcontainers 03:37
128 Let's Write a test Testcontainers 06:52
129 Inspecting DB created by Testcontainers 08:02
130 Apply migrations with Flyway 05:59
131 @DynamicPropertySource 03:29
132 Don't Use @SpringBootTest for Unit Tests 06:26
133 Abstract Testcontainres Logic 05:22
134 Intro (Testing JDBC Template) 01:27
135 JDBCTeamplate Test Class 04:53
136 Configure JDBC Template 04:50
137 selectAllCustomers Test 06:07
138 selectCustomerById Test 05:18
139 selectCustomerById Test 2 03:20
140 Exercises 01:17
141 Test Coverage 02:14
142 Exercise Solution 06:43
143 Intro (Testing JPA Repositories) 00:50
144 What do we need to test 05:07
145 The Wrong Way 05:07
146 @DataJpaTest and @AutoConfigureTestDatabase 04:58
147 Writing Tests For CustomerRepository 08:27
148 No Need to Test DB Backed by List (DAO Mock Testing) 01:36
149 Mockito 03:50
150 @Mock 03:12
151 Test Select All Customers 03:33
152 Test selectCustomerById 03:21
153 Exercise Solution 02:36
154 Intro (Testing Business Layer) 01:01
155 Create CustomerServiceTest and MockitoExtension 03:03
156 Test GetAllCustomers 01:17
157 Test getCustomer 05:53
158 Test if getCustomer Returns Empty Optional 04:48
159 Test addCustomer 06:23
160 addCustomer Test Code Explanation 04:09
161 Test addCustomer 2 03:59
162 Exercises 02:16
163 Exercise Solution (Part 1) 04:36
164 Exercise Solution (Part 2) 18:51
165 Exercise 00:43
166 Exercise Solution 05:29
167 Intro (Integration Testing) 02:03
168 @SpringBootTest 03:36
169 WebTestClient 03:32
170 The First Integration - canRegisterCustomer - Part 1 07:13
171 Running canRegisterCustomer Integration Test 04:43
172 The First Integration - canRegisterCustomer - Part 2 08:49
173 canDeleteCustomer Integration Test 03:07
174 Exercise Solution 05:41
175 Intro (The Upcoming Sections) 02:55
176 Intro (The Jar file) 01:44
177 Spring Boot Maven Plugin Jar 07:04
178 Running Jar 03:37
179 Intro (Maven & Tests) 00:40
180 Surefire Plugin 04:59
181 Configuring Surefire Plugin 03:47
182 Maven Failsafe Plugin 12:46
183 The Jar File 02:12
184 Section Outro 01:24
185 Intro (DevOps) 00:41
186 What is DevOps 07:54
187 DevOps Key Practices and Benefits 05:04
188 Outro 01:03
189 Intro (Docker) 01:55
190 What is Docker 01:32
191 Docker vs VM 04:35
192 Undestanding Containers 05:57
193 Docker Images and Containers 08:51
194 Docker Architecture 02:41
195 Docker Registries 04:14
196 Docker Login 05:50
197 Outro 01:15
198 Intro (Jib) 00:45
199 What is Jib 02:20
200 Configuring Jib Plugin 08:49
201 Building Docker Image 04:40
202 Pulling Image and Running Container 05:49
203 Container Comunication 04:39
204 Docker Network In Action 06:47
205 Docker Compose 07:05
206 Section Outro 00:55
207 Outro 02:18
208 Intro (AWS) 01:12
209 Infrastructure Components Overview 04:50
210 AWS Free Tier 03:53
211 AWS Console Overview 06:37
212 Elastic Beanstalk 02:47
213 Elastic Beanstalk Key Terms 03:17
214 Generate New Key Pair 04:07
215 Saving Private Key 02:46
216 Getting Started With Elastic Beanstalk (Elastic Beanstalk) 02:26
217 Elastic Container Service 03:38
218 Dockerrun aws json 08:33
219 Configure More Options 09:38
220 Infrastructure Provisioned By EB 03:57
221 Updating DB Host and Inspecting Logs 07:02
222 SSH MAC & LINUX & Windows 04:18
223 Bastions 04:01
224 Create Customer DB 06:06
225 Hooray we deployed the API 02:55
226 Exploring EB 04:22
227 Cloudformation 02:42
228 Infrastructure As Code 02:50
229 Multiple Environments 02:46
230 There Are Many Other Ways To Deploy 02:21
231 Intro (Git and Github) 01:21
232 What We Need To Do 00:41
233 Organizing Folders (Monorepo) 00:52
234 Create Github Repository 01:18
235 Pushing code to Github 06:14
236 Open the new Folder and Run Application 08:05
237 Intro (Github Actions) 03:56
238 Github Actions Overview 04:55
239 Intro (Continuos Integration) 01:31
240 Creating the workfow 03:45
241 Github Actions Services 05:53
242 Checkout Action 03:30
243 Setup Java Action 03:15
244 Run Shell Command 06:08
245 Commit and Push Workflow 01:16
246 New Feature Branch 03:14
247 Triggering the Workflow With Pull Request 05:39
248 Make Build Workflow Fail 04:40
249 Outro 01:31
250 Intro (Continous Delivery) 02:44
251 Create Deploy Workflow 03:04
252 Postgres Service 04:35
253 Setting Working Directory 01:07
254 Clone Java and Login to Docker Hub 04:32
255 Generate Custom Build Number 02:41
256 Build Number Step 02:09
257 Maven Verify Step 05:55
258 SED Command 05:57
259 Step to Replace tag in Dockerrun aws json 02:19
260 The Deployment Process 02:32
261 Create AWS Github Actions User with Programmatic Access 04:51
262 Github Secrets for AWS 03:58
263 AWS Elastic Beanstalk 04:13
264 Commit and Push Dockerrun.aws.json STEP 02:11
265 Continuous Delivery In Action 05:49
266 Outro 03:36
267 Intro (Slack Integration) 01:26
268 Installing Slack 01:08
269 Workspaces 01:34
270 Webhooks 04:13
271 Exercise 05:11
272 Exercise Solution 03:57
273 Deployment In Action With Slack Messaging 06:09
274 Discord Webhooks 02:08
275 Intro (Javascript) 01:14
276 Your First Javascript Code 02:09
277 What is Javacript and How it works 04:00
278 Visual Studio Code (VS Code) 02:18
279 NodeJS and NPM 02:48
280 Running JS with using Node 03:51
281 Code Runner 07:57
282 Comments 03:05
283 Quotes and Colons 04:17
284 Variables 05:22
285 Datatypes 01:59
286 Strings 06:07
287 Objects 06:01
288 Boolean 04:17
289 Arrays 05:09
290 Functions 05:39
291 Built in functions 06:06
292 Loops 04:29
293 Other types of For Loops 04:51
294 While Loop 04:50
295 Comparison Operators 04:09
296 Logical Operator 02:16
297 If Statement 07:16
298 Ternary if statement 03:09
299 Switch Statement 03:37
300 Hoisting 04:45
301 Let Keyword 01:35
302 Const Keyword 06:10
303 When to Use Const vs Let 04:10
304 Type Coercion 04:26
305 Triple Equals 03:48
306 Functions Overview 06:04
307 Arrow Functions 06:09
308 Function Default Parameter 03:29
309 Callbacks 07:48
310 Working with Objects 06:55
311 Object Destructing 05:14
312 Spread Operator on Objects 04:23
313 Working with Arrays 05:18
314 Arrays.Map 03:31
315 Array Destructuring 03:40
316 Default Exports 07:44
317 Name Exports and Imports 07:51
318 Your first Promise 05:00
319 synchronous vs asynchronous code 05:43
320 Async Await 06:15
321 Promise all 07:25
322 Promise base http client 07:52
323 Outro 01:02
324 What is React (React) 01:37
325 Vite 01:29
326 Scaffolding React App with Vite 05:10
327 Application Folder Stucture 03:35
328 SRC folder 04:27
329 Understanding Available Scripts 03:48
330 Clean up code to start fresh 02:35
331 Intro (Basics of React) 00:41
332 JSX 05:30
333 Components 03:03
334 Creating Components 04:13
335 Components and Props 05:50
336 Props Children 03:50
337 Tranformations with Map 08:19
338 UseState hook 04:28
339 UseEffect Hooks 07:00
340 Outro 01:24
341 Intro (React Building Our Web App) 01:32
342 UI Libraries 04:09
343 Installing Chakra 03:22
344 Testing ChakraUI installation 03:29
345 SideBar 06:29
346 Customize The SideBar 05:24
347 Axios and getCustomers method 04:40
348 Vite environement variables 02:57
349 Lets try to fetch data from the server 03:32
350 CORS 03:13
351 Allow CORS on the backend 07:38
352 Render Customers & Loading Spinner 09:08
353 Card Component 03:53
354 Wrap and Wrap Item 03:13
355 Customizing Card 07:30
356 Include sha and commit to CD workflow 04:18
357 Watch CD Workflow Deploy CORS changes 03:42
358 Intro (Backend and React - Gender Exercise (Challenging)) 02:10
359 Exercise 03:16
360 Add New Migration (Backend and React - Gender Exercise Solution) 06:45
361 Updating Customer Contructor to Include Gender 05:02
362 Fixing Tests 08:11
363 Fixing Integration Tests 06:10
364 Add Gender and Profile Picture to Frontend 06:14
365 Deployment 07:56
366 Pull Lastest amigoscode-api version 03:47
367 Outro 01:43
368 Intro (React - New Customer Feature) 01:00
369 Create Customer Button 03:36
370 Drawer 05:06
371 Installing Formik and YUP 03:36
372 CreateCustomerForm component 04:42
373 Customise Form (Part 1) 08:27
374 Customise Form (Part 2) 04:46
375 Disable submit button if form not valid 04:14
376 Axios Post 02:10
377 onSubmit 05:48
378 Fetch customers on save 06:50
379 Toasts and Notifications 05:43
380 Using success and error notifications 05:13
381 Exercise (React - Delete Customer Exercise) 01:08
382 Exercise Solution 12:23
383 Exercise (React - Update Customer Exercise) 00:42
384 Exercise Solution 17:11
385 Final Touches 05:52
386 Intro (Dockerise React App and Docker Compose) 01:07
387 Dockerfile react frontend 07:34
388 Building React Frontend Docker Image 04:10
389 Running React Frontend Container 05:18
390 Looking inside the container 04:02
391 Adding react service to docker compose 04:47
392 Intro (React Frontend Deployment) 01:10
393 Docker Build Args 07:11
394 React Frontend Container Definition 07:05
395 Deploying 04:04
396 AWS Security Group and Rules 08:15
397 Adding Security Group Rule 05:24
398 Outro 02:58
399 Exercise (AWS - Exercise) 02:33
400 Exercise Solution 21:25
401 Intro (Security & JWT Overview) 01:34
402 The Problem 01:34
403 Spring Security 01:44
404 Exploring Spring Security Documentation 02:55
405 Introduction to JWT 03:52
406 The Structure of JWT 05:12
407 How We Are Going to Secure Our Endpoints 01:51
408 Installing Dependencies (Implementing Security) 05:15
409 Starting the server 03:02
410 Generate JWT Token 05:01
411 Generate JWT Token - Signing 06:31
412 Important 01:01
413 Send Signed Token to Client 04:09
414 Allow Only POST Requests to Register Customers 06:50
415 Inspecting JWT Token 02:13
416 Security FIlter Chain 06:36
417 The Next Steps 01:43
418 UserDetails 03:21
419 Implement UserDetails 06:55
420 Fixing Tests 08:34
421 UserDetailsService 07:10
422 Password Encoder and BCrypt 07:42
423 Hashed Passowords In Action 07:36
424 Authentication Provider 03:24
425 DaoAuthenticationProvider 05:58
426 JWT Token Validation Overview 02:10
427 JWT Auth Filter and Extract Token 04:50
428 Extract Subject From Token 03:08
429 Validate Token and Set Authentication 09:07
430 Registering The Filter 03:31
431 Attatching JWT to Requests 04:46
432 Fixing CustomerRepositoryTest 03:12
433 Lets Pause 01:17
434 Spring Security Architecture Explained 13:05
435 Outro 01:02
436 Intro (DTO Pattern) 01:46
437 DTO Pattern 16:01
438 Fixing canRegisterCustomer Integration Test (Implementing Security PART 2) 09:00
439 We Have A Problem With Spring Security 03:44
440 Authentication Entrypoint 05:14
441 @ControllerAdvice and @ExceptionHandler 08:17
442 Handle InsufficientAuthenticationException and Exception 04:15
443 Exercise 00:48
444 Exercise Solution canDeleteCustomer 05:02
445 Exercise Solution canUpdateCustomer 05:26
446 CORS Issue Again 02:39
447 Spring Security CORS 07:02
448 Login Exercise 01:28
449 Login Exercise Solution 14:12
450 Login Integration Test 12:17
451 Test Login using Postman 03:41
452 POST Mistake 01:59
453 Deployment 07:47
454 Testing API 03:08
455 Exercise 00:24
456 Exercise Solution 02:49
457 Outro 00:55
458 Intro (React - Login & Registration) 00:38
459 Section Intro 01:55
460 Installing React Router 03:39
461 React Router Routes 04:39
462 Login Page 03:45
463 Syling Right Side of Login Page 04:34
464 Login Form P1 06:51
465 Login Form P2 07:38
466 Login Post Method 02:02
467 React Context 02:55
468 AuthProvider 08:05
469 Using Context 07:39
470 Performing Login 05:35
471 Local Storage 04:07
472 Adding to Local Storage 03:19
473 Redirected After Successful login 02:54
474 Attach Authorization Header to HTTP Requests 05:23
475 Add Password To Create New Customer 05:08
476 Logout 05:59
477 Add Details about Current Logged in Customer 06:01
478 Protected Route 06:19
479 Check Token Expiration with JWT Decode 06:28
480 UseEffect in AuthProvider 08:10
481 Redirect to Dashboard if logged in 02:20
482 Testing when token expires 03:48
483 Login Page Deployment 07:31
484 Exercise 01:01
485 Exercise Solution (Part 1) 08:07
486 Exercise Solution (Part 2) 11:42
487 Deployment for Registration 04:52
488 Intro (AWS Load Balancers, Route53, Certificate Manager and SSL/TLS) 03:56
489 Section Overview 04:40
490 Load Balancers Overview 03:55
491 The Need For a Brand New Environment 02:10
492 Create new EB Environment with ALB 10:38
493 Deploy new version with correct DB details 05:05
494 Understanding ALB health checks 07:49
495 Actuator and Health Endpoint 07:48
496 Update Github Secrets 02:05
497 Deploy Actuator Changes 07:16
498 Changing LB Health Endpoint 06:49
499 Route 53 - Register Domain 02:27
500 Create A Record for Load Balancer 04:42
501 SSL and TLS 02:29
502 Issuing Certificate with Certificate Manager 03:13
503 HTTPS Listener 06:31
504 HTTP to HTTPS Redirects 03:42
505 Outro 01:44
506 Managed Hosting Services for Web Apps (AWS Amplify - React Deployment) 05:30
507 Installing AWS Amplify 04:20
508 Choosing Repo and Branch 01:55
509 Build Settings (Part 1) 04:15
510 Build Settings (Part 2) 06:34
511 Deployment 05:00
512 Custom Domain 07:14
513 Protect Web App 01:49
514 Previews 02:40
515 Change React UI 13:03
516 Raise PR 06:34
517 Merge PR 03:07
518 Intro (Typescript) 00:43
519 Your first Typescript code 01:49
520 Nodejs installation 00:44
521 VS code 00:59
522 Install Typescript 01:44
523 TS-node code runner settings 05:12
524 Comments 03:37
525 Declare variables 06:47
526 String type 04:59
527 Number type 03:04
528 Boolean type 01:54
529 Array type 05:03
530 Object type 04:16
531 Any type 03:22
532 Union type 04:15
533 Alias type 04:25
534 Tuple type 03:00
535 Enum type 05:35
536 Never type 04:06
537 Unknown type 05:10
538 Literal type 05:56
539 Functions 14:01
540 Classes 04:11
541 Class Access Modifiers 06:45
542 Class read only Access Modifiers 01:49
543 Inheritance 07:12
544 Getters and setters 07:07
545 Static properties and methods 05:52
546 Abstract class 07:03
547 Interfaces I 05:47
548 Interfaces II 03:37
549 Interfaces III 04:53
550 Interface Functions 02:37
551 Interface Optionals 01:56
552 Intro to Generics 10:14
553 Generics Classes and Interfaces 11:57
554 Outro 00:19
555 Intro (Getting Started with Angular) 00:44
556 What is angular 01:37
557 What is a module 02:09
558 Components in angular 04:35
559 Install angular cli 04:32
560 Bootstrap the app with npm 03:09
561 Explain project structure (src folder) 07:04
562 Explain project structure (package json file) 03:44
563 Explain project structure (angular json file) 08:30
564 Strip sample application 05:19
565 Create a new angular component (Basics of Angular) 04:42
566 Display and use a component 02:57
567 Data binding 05:43
568 Two ways binding 03:38
569 Event binding 03:48
570 Directives - Conditions - Nglf (Part 1) 09:09
571 Directives - conditions - Ngfor (Part 2) 06:26
572 Inputs 06:07
573 Output (Part 1) 08:04
574 Output (Part 2) 06:20
575 Services (Part 1) 08:09
576 Services (Part 2) 08:44
577 Routing-bootstrapping 03:15
578 Routing - Definition 03:54
579 Routing - Declaring a new route 07:47
580 Routing - Navigating to different routes by template and by injecting 06:51
581 Walking through PrimeNG Website (Angular - Application Skeleton) 06:21
582 Cleanup the Project 03:17
583 Adding PrimeNG Dependencies 04:16
584 Import PrimeNG Styles 03:14
585 Make Sure the Imports Work 01:35
586 Explaining Login and Register Pages 01:23
587 Explaining the Future Design of the App 04:12
588 Splitting the App into Components 03:34
589 Create the Customer Component 10:15
590 Create Menu Bar Component 09:44
591 Create Menu Item Component 06:34
592 Header Bar Component 16:42
593 Add Create Customer Button 02:06
594 Add the Sidebar 06:36
595 Create Mana-Customer Component (Part 1) 07:09
596 Create Mana-Customer Component (Part 2) 05:24
597 Create Login Component (Angular - Login Page) 00:47
598 Exercise 1 - Add Routing for Login Page 00:32
599 Exercise 1 - Solution 01:24
600 Implement Login Page UI (Part 1) 06:58
601 Implement Login Page UI (Part 2) 08:49
602 Create the Authentication Service 01:57
603 Create the Authentication Model 02:55
604 Exercise 2 - Bind the Authentication Model to the Login Form 00:28
605 Exercise 2 - Solution 02:43
606 Implement the Login Method 04:17
607 Consume the Login Method and Console Log the Result 03:16
608 Import the HTTP Client Module 01:47
609 Test the Login Method and Analyse the Response 02:15
610 Create Authentication Response Object 05:31
611 Make the Login Method Returns Authentication Response 01:29
612 Catch the Authentication Error and Display the Error Message 06:11
613 Implement Success Login - Store Unauthorised Response and Redirect the User 03:50
614 Why Securing a Route 01:02
615 What is a Guard 01:51
616 Create the Access Guard Service 01:43
617 Use the Access Guard to Secure the Customers Route 02:04
618 Add the Angular-JWT Library 02:28
619 Implement the Access Guard and Secure the Customers Route 06:29
620 Create Customer Service (Angular - Fetch All Customers) 00:54
621 Exercise 1 - Find all Customers 00:23
622 Exercise 1 - Solution 01:23
623 Display all Customers (Part 1) 04:08
624 Ddd the Authorisation Header to the Request 02:53
625 Display all customers (Part 2) 01:14
626 Generate Environments Files 03:17
627 Add Application Properties 04:15
628 Update the Services to use the Values from Environment file 04:40
629 Present the Hard Coded JWT Token (problematic) 02:40
630 Create the HTTP Interceptor 02:00
631 Make Angular use the Interceptor 03:02
632 Implement the Interceptor 03:25
633 Create Customer Card Component 01:40
634 Implement Customer Card UI 12:13
635 Exercise 2 - Display Customer Information in the Card component 00:12
636 Exercise 2 - Solution 04:08
637 Add Customer Registration Object as Input (Angular - Create Customer) 02:07
638 Create the Customer Registration Request Object 01:45
639 Add Binding to the Form 02:18
640 Exercise 1 - Disable the Submit button if the customer is not valid 00:30
641 Exercise 1 Solution 05:12
642 Exercise 2 - Delegate the Submit Operation to the Parent Component 00:34
643 Exercise 2 - Solution 02:06
644 Consume the Submit Event and Console Log the Customer Information 03:09
645 Create POST Customer Service Method 02:00
646 Exercise 3 - Save and Refresh the Customers List 00:29
647 Exercise 3 - Solution 05:20
648 Add Style to the Displayed Cards 02:13
649 Add Toast Component 02:05
650 Display Succes Message after Saving New Customer 03:38
651 Add Dynamic Profile Picture to the Customer Card 05:15
652 Exercise - Implement the Delete Functionality (including the confirm dialogue) 01:39
653 Delegate the Delete Event to the Parent and Console Log the Customer DTO 02:59
654 Add the Confirmation Dialogue Component 02:20
655 Display the Confirmation Dialogue and Console Log the Confirm Delete Action 04:31
656 Create Delete Customer Method (HTTP) 01:35
657 Perform Delete Action and Refresh the Customers List 01:54
658 Explaining the Update Functionnality (Angular - Update customer) 00:55
659 Create Customer Update Request Model 01:18
660 Create Customer Update Methods (service) 01:48
661 Add Operation Input and Manage Fields Display 04:11
662 Display Title Depending on the Operation 03:13
663 Delegate the Update Event to the Parent and Display Customer Information in the Form 05:27
664 Adjust the Create Customer (button) Click Envent 02:13
665 Adjust the Disabling of the Submit Button 03:13
666 Implement Update Customer (Part 1) 04:29
667 Extend the Customer Object and Test the Update Functionality (Part 2) 04:04
668 Correctly Display the Manage Customer Title 03:39
669 Implement Cancel Button 04:09
670 Exercise 1 - Display Username and Role in the Header 02:01
671 Exercise 1 - Soluion 03:28
672 Logout 04:43
673 Exercise - Implement the Registration Functionality (Angular - Register New Customer) 01:37
674 Create Register Component 00:59
675 Add Routing to Register Page 02:08
676 Implement the Register UI (Part 1) 03:56
677 Implement the Register UI (Part 2) 04:41
678 Add Binding to the Customer Registration Request 01:36
679 Register a User and Redirect to Customers Page 06:57
680 Redirect Angular (Angular - Tidy Up) 02:20
681 Tidy Up Some Files 02:57
682 Commit Changes 01:57
683 Exercise (Angular - Deployment Exercise + Solution) 00:49
684 Product Environment Configuration 03:46
685 AWS Amplify Configuration 04:34
686 Deploying Frontend 03:33
687 Custom Domain With Free SSL Certificate 04:16
688 Access Control 01:51
689 AWS Amplify Continuos Integration 05:34
690 AWS Amplify Continuos Delivery 05:34
691 Outro (Angular Outro) 01:22
692 Intro (Limit and Pagination) 01:47
693 The Problem and Fix 12:53
694 Outro 00:45
695 The Exercise (File Upload Exercise) 02:23
696 Documentation and POM (S3 File Uploads) 04:08
697 Create User 04:37
698 Create Access and Secret Keys 02:33
699 Storing Credentials 03:58
700 Amazon S3 02:38
701 S3Client Bean 05:16
702 Implement PutObject Method 04:21
703 Implement GetObject Method 03:26
704 Create S3 Bucket 02:43
705 Testing Uploads and Downloads 08:46
706 Bucket Name as Config 04:46
707 Upload and Download API Endpoints 05:17
708 Implement Service method to upload 06:03
709 Implement Service method to download 05:01
710 ProfileImageId New Column 08:07
711 SQL and JPQL Queries 06:57
712 Include new coloum in select statements 02:38
713 Stroring and Retrieving Profile Image Id from DBNew Lesson 05:03
714 Fixing Compilation and Tests 06:18
715 Test canPutObject 11:56
716 Test canGetObject 05:52
717 Test canGetObject Exception 04:33
718 Test uploadCustomerProfileImage Part 1 11:18
719 Test uploadCustomerProfileImage Part 2 06:01
720 Test uploadCustomerProfileImage Part 3 04:15
721 Test downloadCustomerProfileImage Part 1 05:25
722 Test downloadCustomerProfileImage Part 2 05:46
723 Test downloadCustomerProfileImage Part 3 02:40
724 Exception Handling Documentation 04:30
725 Test JPA Repository Query 06:48
726 Test JPA DAO Implementation 02:24
727 Test JDBC DAO Implementation 02:49
728 Adding Pictures To Test Folder 05:07
729 Picture Upload IT Part 1 07:46
730 Increase Multipart File Size 07:55
731 Download Picture Integration Test 06:55
732 Permit All to Download Picture 03:11
733 FakeS3 03:44
734 FakeS3 PutObject 06:38
735 FakeS3 GetObject 02:15
736 Mock S3 02:04
737 Mock S3 In Action 04:13
738 Roles and Policies 06:09
739 IAM Policy Simulator 07:41
740 Different Profiles Per Environment (Spring Profiles) 02:12
741 Working With Profiles 05:33
742 Test Profile Configuration 05:34
743 Deployment 02:39
744 SSH Into EC2 03:47
745 React Drop Zone (React - File Upload) 01:20
746 Syling Dropzone 04:05
747 Using Dropzone 04:36
748 Dropzone Upload FIle 04:53
749 Testing Picture upload 03:37
750 Reload Profile Picture On Upload 02:24
751 Display Profile Picture 02:25
752 MediaType IMAGE_JPEG_VALUE 02:09
753 CI_CD Backend and Frontend 05:12
754 Test Live Application 03:20
755 Outro (File Upload Outro) 02:32
756 We Built The Building Blocks and Potential Features (Few Words) 03:03
757 Improve Things as you Wish 01:25
758 Secrets Management 02:11
759 Next steps 01:06
760 Testimonial 01:54

Similar courses to PROFESSIONAL Full Stack Developer

Conscious Angular Testing

Conscious Angular Testing

Duration 10 hours 37 minutes 7 seconds
React, Angular, Node In-Depth Guide: Beginner to Pro

React, Angular, Node In-Depth Guide: Beginner to Pro

Duration 80 hours 1 minute 57 seconds
Demystifying Reactivity with Angular Signals

Demystifying Reactivity with Angular Signals

Duration 1 hour 44 minutes 15 seconds
Angular Basics (v15)

Angular Basics (v15)

Duration 8 hours 58 minutes 31 seconds
NGRX Store + Effects

NGRX Store + Effects

Duration 7 hours 44 minutes 8 seconds
100 Angular Challenge

100 Angular Challenge

Duration 12 hours 23 minutes 17 seconds
Angular 9 Firebase Project Course

Angular 9 Firebase Project Course

Duration 2 hours 46 minutes 56 seconds
NgRx (with NgRx Data) - The Complete Guide (FREE E-Book)

NgRx (with NgRx Data) - The Complete Guide (FREE E-Book)

Duration 6 hours 11 minutes 19 seconds
Accelerating Through Angular 2

Accelerating Through Angular 2

Duration 1 hour 4 minutes 35 seconds
Angular and Golang: A Rapid Guide - Advanced

Angular and Golang: A Rapid Guide - Advanced

Duration 9 hours 40 minutes 39 seconds