Hey I am thinking to follow a course on spring boot, here are the video titles, of all the topics included in that course, make me a summary (points/list) of what all things are being taught in that course, and give review if the course seems good enough for a senior sde. here are the video titles:
Java_Master_Class
The_Next_Steps
Practise_as_I_teach_TODO_s
Discord
Linkedin
Textbook
Exercises_and_Textbook
Exercise_Solutions
Commit_Your_Changes
Linux_and_Terminal
IntelliJ_6_Months
Intellij_New_Theme
What_we_are_about_to_cook_Project_and_Environment_Setup
Spring_Initiliazer
Open_the_project_with_IntelliJ
pom_xml
Lets_clean_up_few_things
JDK
Your_first_Spring_Boot_Application_Getting_Started_with_Spring_Boot_3
Embedded_Web_Server
Configuring_Embedded_Web_Server
Your_first_API
SpringBootApplication_RestController_and_GetMapping
Spring_Web_MVC
JSON_For_Java
Java_Objects_to_JSON_Objects
Introduction_to_HTTP_HTTP_REST_and_APIs
The_Evolution_of_HTTP
HTTP_Request_and_Response_Messages
HTTP_Methods
HTTP_Status_Codes
URL
API_and_REST_API
Public_APIs_and_Other_Types
Why_build_APIs
Chrome_Developer_Tools_Developer_Tools
Exploring_XHR_for_our_API
Inspecting_Instagram_Network_Activity
Postman
IntelliJ_REST_Client
CRUD_and_Section_Overview_CRUD_Read
Customer_Model
Fake_Database
API_Endpoint
PathVariable
N_Tier_Architecture_Structure_the_Backend
Refactor_Controller_Service_and_DAO
RestController_Service_Repository_Component
Application_Context_Application_Context_and_Beans
Inspecting_beans
Bean_Scopes
Creating_Beans
We_are_not_handling_error_the_right_way_Error_Handling
Custom_Exception
ResponseStatus
Include_error_Message_to_Responses
Section_Intro_Databases
Postgres_and_Docker
Verifying_Docker_Installation
Postgres_DB_with_Docker_compose
Connecting_to_Database
Connecting_to_DB_using_IntelliJ_IDEA
Data_Source_JPA
Installing_PostgreSQL_Driver_and_Spring_Data_JPA_Dependencies
Configuring_Datasource_Properties
Create_Customer_Table
Outro
Entity_Spring_Data_JPA
Inspecting_The_Database
Column_Contraints
CustomerRepository
CustomerJPADataAccessService_class
Qualifier
Saving_Entities
Exploring_JPA_Methods
Outro
The_Problem_Get_Customer_By_Id_Exercise
Exercise_Solution
Intro_CRUD_Create
Changing_CustomerDao_Interface
Override_insert_customer
Business_Logic_for_Adding_new_Customer
Controller_RequestMapping_and_RequestBody
Testing_POST_Request
Exercise_CRUD_Delete_Exercise
Exercise_Solution
Exercise_CRUD_Update_Exercise
Exercise_Solution
Few_Words_Let_s_Pause
Intro_Datasources_JDBC_Flyway
JPA_and_Hibernate_under_the_hood
JDBC_and_JDBCTemplate
DataSource_and_Connection_Pools
Flyway_and_Liquibase
Flyway_Flyway
Installing_Flyway
Applying_and_Understanding_Flyway_Migrations
Lets_Start_Again_but_Right
Create_Customer_Table
Inspecting_the_Customer_Table
Working_with_Sequences
Exercise
Exercise_Solution
Migrations_Documentation
Match_Entity_Containts_schema
Validating_Schema_With_Hibernate
Exercise_Solution
Intro_JDBC_Template
CustomerJDBC_class
JDBC_Template_Documentation
Insert_Customer
Test_Insert_Customer
Select_All_Customers
RowMapper_and_ResultSet
Refactor_Row_Mapper
Exercise
Exercise_Solution
Exercise
Exercise_Solution
Why_multiple_DAO_implementations
More_on_databases_later
When_to_use_JDBC_over_JPA_Spring_JDBC_vs_JPA
Would_you_Important_Question
Intro_Testing_Setup
Testcontainers
H2
Intalling_Testcontainers
Let_s_Write_a_test_Testcontainers
Inspecting_DB_created_by_Testcontainers
Apply_migrations_with_Flyway
DynamicPropertySource
Don_t_Use_SpringBootTest_for_Unit_Tests
Abstract_Testcontainres_Logic
Intro_Testing_JDBC_Template
JDBCTeamplate_Test_Class
Configure_JDBC_Template
selectAllCustomers_Test
selectCustomerById_Test
selectCustomerById_Test_2
Exercises
Test_Coverage
Exercise_Solution
Intro_Testing_JPA_Repositories
What_do_we_need_to_test
The_Wrong_Way
DataJpaTest_and_AutoConfigureTestDatabase
Writing_Tests_For_CustomerRepository
No_Need_to_Test_DB_Backed_by_List_DAO_Mock_Testing
Mockito
Mock
Test_Select_All_Customers
Test_selectCustomerById
Exercise_Solution
Intro_Testing_Business_Layer
Create_CustomerServiceTest_and_MockitoExtension
Test_GetAllCustomers
Test_getCustomer
Test_if_getCustomer_Returns_Empty_Optional
Test_addCustomer
addCustomer_Test_Code_Explanation
Test_addCustomer_2
Exercises
Exercise_Solution_Part_1
Exercise_Solution_Part_2
Exercise
Exercise_Solution
Intro_Integration_Testing
SpringBootTest
WebTestClient
The_First_Integration_canRegisterCustomer_Part_1
Running_canRegisterCustomer_Integration_Test
The_First_Integration_canRegisterCustomer_Part_2
canDeleteCustomer_Integration_Test
Exercise_Solution
Intro_The_Upcoming_Sections
Intro_The_Jar_file
Spring_Boot_Maven_Plugin_Jar
Running_Jar
Intro_Maven_Tests
Surefire_Plugin
Configuring_Surefire_Plugin
Maven_Failsafe_Plugin
The_Jar_File
Section_Outro
Intro_DevOps
What_is_DevOps
DevOps_Key_Practices_and_Benefits
Outro
Intro_Docker
What_is_Docker
Docker_vs_VM
Undestanding_Containers
Docker_Images_and_Containers
Docker_Architecture
Docker_Registries
Docker_Login
Outro
Intro_Jib
What_is_Jib
Configuring_Jib_Plugin
Building_Docker_Image
Pulling_Image_and_Running_Container
Container_Comunication
Docker_Network_In_Action
Docker_Compose
Section_Outro
Outro
Intro_AWS
Infrastructure_Components_Overview
AWS_Free_Tier
AWS_Console_Overview
Elastic_Beanstalk
Elastic_Beanstalk_Key_Terms
Generate_New_Key_Pair
Saving_Private_Key
Getting_Started_With_Elastic_Beanstalk_Elastic_Beanstalk
Elastic_Container_Service
Dockerrun_aws_json
Configure_More_Options
Infrastructure_Provisioned_By_EB
Updating_DB_Host_and_Inspecting_Logs
SSH_MAC_LINUX_Windows
Bastions
Create_Customer_DB
Hooray_we_deployed_the_API
Exploring_EB
Cloudformation
Infrastructure_As_Code
Multiple_Environments
There_Are_Many_Other_Ways_To_Deploy
Intro_Git_and_Github
What_We_Need_To_Do
Organizing_Folders_Monorepo
Create_Github_Repository
Pushing_code_to_Github
Open_the_new_Folder_and_Run_Application
Intro_Github_Actions
Github_Actions_Overview
Intro_Continuos_Integration
Creating_the_workfow
Github_Actions_Services
Checkout_Action
Setup_Java_Action
Run_Shell_Command
Commit_and_Push_Workflow
New_Feature_Branch
Triggering_the_Workflow_With_Pull_Request
Make_Build_Workflow_Fail
Outro
Intro_Continous_Delivery
Create_Deploy_Workflow
Postgres_Service
Setting_Working_Directory
Clone_Java_and_Login_to_Docker_Hub
Generate_Custom_Build_Number
Build_Number_Step
Maven_Verify_Step
SED_Command
Step_to_Replace_tag_in_Dockerrun_aws_json
The_Deployment_Process
Create_AWS_Github_Actions_User_with_Programmatic_Access
Github_Secrets_for_AWS
AWS_Elastic_Beanstalk
Commit_and_Push_Dockerrun_aws_json_STEP
Continuous_Delivery_In_Action
Outro
Intro_Slack_Integration
Installing_Slack
Workspaces
Webhooks
Exercise
Exercise_Solution
Deployment_In_Action_With_Slack_Messaging
Discord_Webhooks
Intro_Javascript
Your_First_Javascript_Code
What_is_Javacript_and_How_it_works
Visual_Studio_Code_VS_Code
NodeJS_and_NPM
Running_JS_with_using_Node
Code_Runner
Comments
Quotes_and_Colons
Variables
Datatypes
Strings
Objects
Boolean
Arrays
Functions
Built_in_functions
Loops
Other_types_of_For_Loops
While_Loop
Comparison_Operators
Logical_Operator
If_Statement
Ternary_if_statement
Switch_Statement
Hoisting
Let_Keyword
Const_Keyword
When_to_Use_Const_vs_Let
Type_Coercion
Triple_Equals
Functions_Overview
Arrow_Functions
Function_Default_Parameter
Callbacks
Working_with_Objects
Object_Destructing
Spread_Operator_on_Objects
Working_with_Arrays
Arrays_Map
Array_Destructuring
Default_Exports
Name_Exports_and_Imports
Your_first_Promise
synchronous_vs_asynchronous_code
Async_Await
Promise_all
Promise_base_http_client
Outro
What_is_React_React
Vite
Scaffolding_React_App_with_Vite
Application_Folder_Stucture
SRC_folder
Understanding_Available_Scripts
Clean_up_code_to_start_fresh
Intro_Basics_of_React
JSX
Components
Creating_Components
Components_and_Props
Props_Children
Tranformations_with_Map
UseState_hook
UseEffect_Hooks
Outro
Intro_React_Building_Our_Web_App
UI_Libraries
Installing_Chakra
Testing_ChakraUI_installation
SideBar
Customize_The_SideBar
Axios_and_getCustomers_method
Vite_environement_variables
Lets_try_to_fetch_data_from_the_server
CORS
Allow_CORS_on_the_backend
Render_Customers_Loading_Spinner
Card_Component
Wrap_and_Wrap_Item
Customizing_Card
Include_sha_and_commit_to_CD_workflow
Watch_CD_Workflow_Deploy_CORS_changes
Intro_Backend_and_React_Gender_Exercise_Challenging
Exercise
Add_New_Migration_Backend_and_React_Gender_Exercise_Solution
Updating_Customer_Contructor_to_Include_Gender
Fixing_Tests
Fixing_Integration_Tests
Add_Gender_and_Profile_Picture_to_Frontend
Deployment
Pull_Lastest_amigoscode_api_version
Outro
Intro_React_New_Customer_Feature
Create_Customer_Button
Drawer
Installing_Formik_and_YUP
CreateCustomerForm_component
Customise_Form_Part_1
Customise_Form_Part_2
Disable_submit_button_if_form_not_valid
Axios_Post
onSubmit
Fetch_customers_on_save
Toasts_and_Notifications
Using_success_and_error_notifications
Exercise_React_Delete_Customer_Exercise
Exercise_Solution
Exercise_React_Update_Customer_Exercise
Exercise_Solution
Final_Touches
Intro_Dockerise_React_App_and_Docker_Compose
Dockerfile_react_frontend
Building_React_Frontend_Docker_Image
Running_React_Frontend_Container
Looking_inside_the_container
Adding_react_service_to_docker_compose
Intro_React_Frontend_Deployment
Docker_Build_Args
React_Frontend_Container_Definition
Deploying
AWS_Security_Group_and_Rules
Adding_Security_Group_Rule
Outro
Exercise_AWS_Exercise
Exercise_Solution
Intro_Security_JWT_Overview
The_Problem
Spring_Security
Exploring_Spring_Security_Documentation
Introduction_to_JWT
The_Structure_of_JWT
How_We_Are_Going_to_Secure_Our_Endpoints
Installing_Dependencies_Implementing_Security
Starting_the_server
Generate_JWT_Token
Generate_JWT_Token_Signing
Important
Send_Signed_Token_to_Client
Allow_Only_POST_Requests_to_Register_Customers
Inspecting_JWT_Token
Security_FIlter_Chain
The_Next_Steps
UserDetails
Implement_UserDetails
Fixing_Tests
UserDetailsService
Password_Encoder_and_BCrypt
Hashed_Passowords_In_Action
Authentication_Provider
DaoAuthenticationProvider
JWT_Token_Validation_Overview
JWT_Auth_Filter_and_Extract_Token
Extract_Subject_From_Token
Validate_Token_and_Set_Authentication
Registering_The_Filter
Attatching_JWT_to_Requests
Fixing_CustomerRepositoryTest
Lets_Pause
Spring_Security_Architecture_Explained
Outro
Intro_DTO_Pattern
DTO_Pattern
Fixing_canRegisterCustomer_Integration_Test_Implementing_Security_PART_2
We_Have_A_Problem_With_Spring_Security
Authentication_Entrypoint
ControllerAdvice_and_ExceptionHandler
Handle_InsufficientAuthenticationException_and_Exception
Exercise
Exercise_Solution_canDeleteCustomer
Exercise_Solution_canUpdateCustomer
CORS_Issue_Again
Spring_Security_CORS
Login_Exercise
Login_Exercise_Solution
Login_Integration_Test
Test_Login_using_Postman
POST_Mistake
Deployment
Testing_API
Exercise
Exercise_Solution
Outro
Intro_React_Login_Registration
Section_Intro
Installing_React_Router
React_Router_Routes
Login_Page
Syling_Right_Side_of_Login_Page
Login_Form_P1
Login_Form_P2
Login_Post_Method
React_Context
AuthProvider
Using_Context
Performing_Login
Local_Storage
Adding_to_Local_Storage
Redirected_After_Successful_login
Attach_Authorization_Header_to_HTTP_Requests
Add_Password_To_Create_New_Customer
Logout
Add_Details_about_Current_Logged_in_Customer
Protected_Route
Check_Token_Expiration_with_JWT_Decode
UseEffect_in_AuthProvider
Redirect_to_Dashboard_if_logged_in
Testing_when_token_expires
Login_Page_Deployment
Exercise
Exercise_Solution_Part_1
Exercise_Solution_Part_2
Deployment_for_Registration
Intro_AWS_Load_Balancers_Route53_Certificate_Manager_and_SSL_TLS
Section_Overview
Load_Balancers_Overview
The_Need_For_a_Brand_New_Environment
Create_new_EB_Environment_with_ALB
Deploy_new_version_with_correct_DB_details
Understanding_ALB_health_checks
Actuator_and_Health_Endpoint
Update_Github_Secrets
Deploy_Actuator_Changes
Changing_LB_Health_Endpoint
Route_53_Register_Domain
Create_A_Record_for_Load_Balancer
SSL_and_TLS
Issuing_Certificate_with_Certificate_Manager
HTTPS_Listener
HTTP_to_HTTPS_Redirects
Outro
Managed_Hosting_Services_for_Web_Apps_AWS_Amplify_React_Deployment
Installing_AWS_Amplify
Choosing_Repo_and_Branch
Build_Settings_Part_1
Build_Settings_Part_2
Deployment
Custom_Domain
Protect_Web_App
Previews
Change_React_UI
Raise_PR
Merge_PR
Intro_Typescript
Your_first_Typescript_code
Nodejs_installation
VS_code
Install_Typescript
TS_node_code_runner_settings
Comments
Declare_variables
String_type
Number_type
Boolean_type
Array_type
Object_type
Any_type
Union_type
Alias_type
Tuple_type
Enum_type
Never_type
Unknown_type
Literal_type
Functions
Classes
Class_Access_Modifiers
Class_read_only_Access_Modifiers
Inheritance
Getters_and_setters
Static_properties_and_methods
Abstract_class
Interfaces_I
Interfaces_II
Interfaces_III
Interface_Functions
Interface_Optionals
Intro_to_Generics
Generics_Classes_and_Interfaces
Outro
Intro_Getting_Started_with_Angular
What_is_angular
What_is_a_module
Components_in_angular
Install_angular_cli
Bootstrap_the_app_with_npm
Explain_project_structure_src_folder
Explain_project_structure_package_json_file
Explain_project_structure_angular_json_file
Strip_sample_application
Create_a_new_angular_component_Basics_of_Angular
Display_and_use_a_component
Data_binding
Two_ways_binding
Event_binding
Directives_Conditions_Nglf_Part_1
Directives_conditions_Ngfor_Part_2
Inputs
Output_Part_1
Output_Part_2
Services_Part_1
Services_Part_2
Routing_bootstrapping
Routing_Definition
Routing_Declaring_a_new_route
Routing_Navigating_to_different_routes_by_template_and_by_injecting
Walking_through_PrimeNG_Website_Angular_Application_Skeleton
Cleanup_the_Project
Adding_PrimeNG_Dependencies
Import_PrimeNG_Styles
Make_Sure_the_Imports_Work
Explaining_Login_and_Register_Pages
Explaining_the_Future_Design_of_the_App
Splitting_the_App_into_Components
Create_the_Customer_Component
Create_Menu_Bar_Component
Create_Menu_Item_Component
Header_Bar_Component
Add_Create_Customer_Button
Add_the_Sidebar
Create_Mana_Customer_Component_Part_1
Create_Mana_Customer_Component_Part_2
Create_Login_Component_Angular_Login_Page
Exercise_1_Add_Routing_for_Login_Page
Exercise_1_Solution
Implement_Login_Page_UI_Part_1
Implement_Login_Page_UI_Part_2
Create_the_Authentication_Service
Create_the_Authentication_Model
Exercise_2_Bind_the_Authentication_Model_to_the_Login_Form
Exercise_2_Solution
Implement_the_Login_Method
Consume_the_Login_Method_and_Console_Log_the_Result
Import_the_HTTP_Client_Module
Test_the_Login_Method_and_Analyse_the_Response
Create_Authentication_Response_Object
Make_the_Login_Method_Returns_Authentication_Response
Catch_the_Authentication_Error_and_Display_the_Error_Message
Implement_Success_Login_Store_Unauthorised_Response_and_Redirect_the_User
Why_Securing_a_Route
What_is_a_Guard
Create_the_Access_Guard_Service
Use_the_Access_Guard_to_Secure_the_Customers_Route
Add_the_Angular_JWT_Library
Implement_the_Access_Guard_and_Secure_the_Customers_Route
Create_Customer_Service_Angular_Fetch_All_Customers
Exercise_1_Find_all_Customers
Exercise_1_Solution
Display_all_Customers_Part_1
Ddd_the_Authorisation_Header_to_the_Request
Display_all_customers_Part_2
Generate_Environments_Files
Add_Application_Properties
Update_the_Services_to_use_the_Values_from_Environment_file
Present_the_Hard_Coded_JWT_Token_problematic
Create_the_HTTP_Interceptor
Make_Angular_use_the_Interceptor
Implement_the_Interceptor
Create_Customer_Card_Component
Implement_Customer_Card_UI
Exercise_2_Display_Customer_Information_in_the_Card_component
Exercise_2_Solution
Add_Customer_Registration_Object_as_Input_Angular_Create_Customer
Create_the_Customer_Registration_Request_Object
Add_Binding_to_the_Form
Exercise_1_Disable_the_Submit_button_if_the_customer_is_not_valid
Exercise_1_Solution
Exercise_2_Delegate_the_Submit_Operation_to_the_Parent_Component
Exercise_2_Solution
Consume_the_Submit_Event_and_Console_Log_the_Customer_Information
Create_POST_Customer_Service_Method
Exercise_3_Save_and_Refresh_the_Customers_List
Exercise_3_Solution
Add_Style_to_the_Displayed_Cards
Add_Toast_Component
Display_Succes_Message_after_Saving_New_Customer
Add_Dynamic_Profile_Picture_to_the_Customer_Card
Exercise_Implement_the_Delete_Functionality_including_the_confirm_dialogue
Delegate_the_Delete_Event_to_the_Parent_and_Console_Log_the_Customer_DTO
Add_the_Confirmation_Dialogue_Component
Display_the_Confirmation_Dialogue_and_Console_Log_the_Confirm_Delete_Action
Create_Delete_Customer_Method_HTTP
Perform_Delete_Action_and_Refresh_the_Customers_List
Explaining_the_Update_Functionnality_Angular_Update_customer
Create_Customer_Update_Request_Model
Create_Customer_Update_Methods_service
Add_Operation_Input_and_Manage_Fields_Display
Display_Title_Depending_on_the_Operation
Delegate_the_Update_Event_to_the_Parent_and_Display_Customer_Information_in_the_Form
Adjust_the_Create_Customer_button_Click_Envent
Adjust_the_Disabling_of_the_Submit_Button
Implement_Update_Customer_Part_1
Extend_the_Customer_Object_and_Test_the_Update_Functionality_Part_2
Correctly_Display_the_Manage_Customer_Title
Implement_Cancel_Button
Exercise_1_Display_Username_and_Role_in_the_Header
Exercise_1_Soluion
Logout
Exercise_Implement_the_Registration_Functionality_Angular_Register_New_Customer
Create_Register_Component
Add_Routing_to_Register_Page
Implement_the_Register_UI_Part_1
Implement_the_Register_UI_Part_2
Add_Binding_to_the_Customer_Registration_Request
Register_a_User_and_Redirect_to_Customers_Page
Redirect_Angular_Angular_Tidy_Up
Tidy_Up_Some_Files
Commit_Changes
Exercise_Angular_Deployment_Exercise_Solution
Product_Environment_Configuration
AWS_Amplify_Configuration
Deploying_Frontend
Custom_Domain_With_Free_SSL_Certificate
Access_Control
AWS_Amplify_Continuos_Integration
AWS_Amplify_Continuos_Delivery
Outro_Angular_Outro
Intro_Limit_and_Pagination
The_Problem_and_Fix
Outro
The_Exercise_File_Upload_Exercise
Documentation_and_POM_S3_File_Uploads
Create_User
Create_Access_and_Secret_Keys
Storing_Credentials
Amazon_S3
S3Client_Bean
Implement_PutObject_Method
Implement_GetObject_Method
Create_S3_Bucket
Testing_Uploads_and_Downloads
Bucket_Name_as_Config
Upload_and_Download_API_Endpoints
Implement_Service_method_to_upload
Implement_Service_method_to_download
ProfileImageId_New_Column
SQL_and_JPQL_Queries
Include_new_coloum_in_select_statements
Stroring_and_Retrieving_Profile_Image_Id_from_DBNew_Lesson
Fixing_Compilation_and_Tests
Test_canPutObject
Test_canGetObject
Test_canGetObject_Exception
Test_uploadCustomerProfileImage_Part_1
Test_uploadCustomerProfileImage_Part_2
Test_uploadCustomerProfileImage_Part_3
Test_downloadCustomerProfileImage_Part_1
Test_downloadCustomerProfileImage_Part_2
Test_downloadCustomerProfileImage_Part_3
Exception_Handling_Documentation
Test_JPA_Repository_Query
Test_JPA_DAO_Implementation
Test_JDBC_DAO_Implementation
Adding_Pictures_To_Test_Folder
Picture_Upload_IT_Part_1
Increase_Multipart_File_Size
Download_Picture_Integration_Test
Permit_All_to_Download_Picture
FakeS3
FakeS3_PutObject
FakeS3_GetObject
Mock_S3
Mock_S3_In_Action
Roles_and_Policies
IAM_Policy_Simulator
Different_Profiles_Per_Environment_Spring_Profiles
Working_With_Profiles
Test_Profile_Configuration
Deployment
SSH_Into_EC2
React_Drop_Zone_React_File_Upload
Syling_Dropzone
Using_Dropzone
Dropzone_Upload_FIle
Testing_Picture_upload
Reload_Profile_Picture_On_Upload
Display_Profile_Picture
MediaType_IMAGE_JPEG_VALUE
CI_CD_Backend_and_Frontend
Test_Live_Application
Outro_File_Upload_Outro
We_Built_The_Building_Blocks_and_Potential_Features_Few_Words
Improve_Things_as_you_Wish
Secrets_Management
Next_steps
Testimonial