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