1. Урок 1. 00:02:15
    Welcome & Introduction
  2. Урок 2. 00:02:25
    What's Inside the Course?
  3. Урок 3. 00:02:16
    How To Get The Most Out Of This Course
  4. Урок 4. 00:01:38
    Planning the App
  5. Урок 5. 00:00:47
    Module Introduction
  6. Урок 6. 00:04:23
    What is Angular?
  7. Урок 7. 00:04:25
    Project Setup with the Angular CLI
  8. Урок 8. 00:05:40
    How an Angular App Starts and Works
  9. Урок 9. 00:05:47
    Adding Components
  10. Урок 10. 00:07:01
    Template Syntax
  11. Урок 11. 00:04:23
    Using Directives like ngFor and ngIf
  12. Урок 12. 00:07:14
    Custom Property & Event Binding
  13. Урок 13. 00:04:18
    Forms
  14. Урок 14. 00:11:11
    Understanding Services & Dependency Injection
  15. Урок 15. 00:06:53
    Angular Routing
  16. Урок 16. 00:00:31
    Where to Dive Deeper
  17. Урок 17. 00:03:18
    Module Introduction
  18. Урок 18. 00:03:04
    Understanding Angular Material Components
  19. Урок 19. 00:12:14
    Adding Angular Material to a Project
  20. Урок 20. 00:00:53
    Stay Up To Date!
  21. Урок 21. 00:07:40
    Our First Angular Material Component - The Button
  22. Урок 22. 00:07:55
    Creating the Course App Structure
  23. Урок 23. 00:05:05
    Working on The Signup Form
  24. Урок 24. 00:09:44
    Flexbox - A Quick Refresher
  25. Урок 25. 00:06:06
    Controlling the Layout with @angular/flex-layout
  26. Урок 26. 00:05:07
    Adding & Configuring the Submit Button
  27. Урок 27. 00:09:39
    Implementing Hints and Validation Errors (on Forms)
  28. Урок 28. 00:09:18
    Adding a Datepicker
  29. Урок 29. 00:03:28
    Restricting Pickable Dates
  30. Урок 30. 00:04:29
    Adding a Checkbox
  31. Урок 31. 00:02:32
    Finishing the Form with Style
  32. Урок 32. 00:01:27
    Wrap Up
  33. Урок 33. 00:00:40
    Module Introduction
  34. Урок 34. 00:09:14
    Adding Navigation & a Sidenav
  35. Урок 35. 00:05:14
    Working on the Sidenav and Toolbar
  36. Урок 36. 00:09:10
    Styling the Sidenav
  37. Урок 37. 00:05:09
    Making the Page Responsive
  38. Урок 38. 00:09:40
    Adding Navigation Items
  39. Урок 39. 00:09:40
    Splitting the Navigation Into Components
  40. Урок 40. 00:04:38
    Working on the Welcome Screen
  41. Урок 41. 00:04:41
    Adding a Tabs Component
  42. Урок 42. 00:06:21
    Adding some "Cards"
  43. Урок 43. 00:06:01
    Adding a Dropdown Menu
  44. Урок 44. 00:09:17
    Adding a Spinner to the Training Screen
  45. Урок 45. 00:03:22
    Adding a Nice Exercise Timer
  46. Урок 46. 00:06:13
    Adding a Cancel Dialog Screen
  47. Урок 47. 00:06:35
    Passing Data to the Dialog
  48. Урок 48. 00:03:08
    Adding "Exit" and "Continue" Options
  49. Урок 49. 00:01:13
    Wrap Up
  50. Урок 50. 00:00:49
    Module Introduction
  51. Урок 51. 00:18:38
    Implementing Authentication
  52. Урок 52. 00:04:40
    Routing & Authentication
  53. Урок 53. 00:06:55
    Route Protection
  54. Урок 54. 00:04:13
    Preparing the Exercise Data
  55. Урок 55. 00:04:35
    Injecting & Using the Training Service
  56. Урок 56. 00:03:15
    Setting an Active Exercise
  57. Урок 57. 00:04:36
    Controlling the Active Exercise
  58. Урок 58. 00:03:22
    Adding a Form to the Training Component
  59. Урок 59. 00:04:55
    Handling the Active Training via a Service
  60. Урок 60. 00:06:11
    Handling "Complete" and "Cancel" Events
  61. Урок 61. 00:14:08
    Adding the Angular Material Data Table
  62. Урок 62. 00:06:09
    Adding Sorting to the Data Table
  63. Урок 63. 00:05:21
    Adding Filtering to the Data Table
  64. Урок 64. 00:05:34
    Adding Pagination to the Data Table
  65. Урок 65. 00:00:53
    Wrap Up
  66. Урок 66. 00:01:00
    Module Introduction
  67. Урок 67. 00:04:42
    What is Firebase?
  68. Урок 68. 00:02:27
    Getting Started with Firebase
  69. Урок 69. 00:02:09
    What is Angularfire?
  70. Урок 70. 00:06:25
    RxJS Oservables Refresher
  71. Урок 71. 00:07:37
    Observables in Action
  72. Урок 72. 00:12:25
    Listening to Value Changes (of Firestore)
  73. Урок 73. 00:07:23
    Listening to Snapshot Changes (of Firestore, incl. Metadata)
  74. Урок 74. 00:06:28
    Restructuring the Code
  75. Урок 75. 00:02:54
    How Firebase Manages Subscriptions
  76. Урок 76. 00:03:57
    Storing Completed Exercises on Firestore
  77. Урок 77. 00:07:36
    Connecting the Data Table to Firestore
  78. Урок 78. 00:05:04
    Working with Documents
  79. Урок 79. 00:05:39
    Adding Real Authentication (Sign Up)
  80. Урок 80. 00:01:52
    Adding User Login
  81. Урок 81. 00:04:03
    Understanding Authentication in SPAs
  82. Урок 82. 00:04:16
    Configuring Firestore Security Rules
  83. Урок 83. 00:05:32
    Managing Firestore Subscriptions
  84. Урок 84. 00:04:23
    Reorganizing the Code
  85. Урок 85. 00:01:03
    Wrap Up
  86. Урок 86. 00:00:52
    Module Introduction
  87. Урок 87. 00:05:27
    Style Improvements & Error Handling
  88. Урок 88. 00:10:29
    Adding a Spinner
  89. Урок 89. 00:03:07
    Adding a Re-Usable Snackbar (Notification)
  90. Урок 90. 00:06:08
    Improving Error Handling
  91. Урок 91. 00:07:02
    Splitting the App Into Modules
  92. Урок 92. 00:03:27
    Optimizing Subscriptions
  93. Урок 93. 00:04:41
    Creating a SharedModule
  94. Урок 94. 00:03:34
    Splitting Up Routes
  95. Урок 95. 00:08:41
    Loading a Module Lazily
  96. Урок 96. 00:02:38
    Moving the Auth Guard
  97. Урок 97. 00:01:59
    Wrap Up
  98. Урок 98. 00:04:05
    Module Introduction
  99. Урок 99. 00:02:00
    What is Redux - An Overview
  100. Урок 100. 00:14:41
    NgRx Core Concepts - A First Example
  101. Урок 101. 00:12:37
    Working with Multiple Reducers & Actions
  102. Урок 102. 00:04:38
    Dispatching Actions & Selecting State Slices
  103. Урок 103. 00:09:52
    Adding an Auth Reducer (and Actions)
  104. Урок 104. 00:08:11
    Adding Auth Subscriptions
  105. Урок 105. 00:12:15
    Adding the Training Reducer and Actions with Payloads
  106. Урок 106. 00:04:35
    Lazy Loaded State
  107. Урок 107. 00:05:17
    Dispatching Training Actions
  108. Урок 108. 00:06:34
    Selecting Training State
  109. Урок 109. 00:07:31
    Selecting Single Values Correctly
  110. Урок 110. 00:03:15
    Connecting the Data Table
  111. Урок 111. 00:03:41
    Cleaning the Project Up
  112. Урок 112. 00:00:56
    Adding a small Bugfix
  113. Урок 113. 00:01:03
    Wrap Up
  114. Урок 114. 00:01:44
    Introduction & Preparation
  115. Урок 115. 00:04:11
    Deploying the App to Firebase Hosting
  116. Урок 116. 00:00:24
    Module Introduction
  117. Урок 117. 00:01:39
    Understanding Angular Material Themes
  118. Урок 118. 00:05:49
    Customising an Angular Material Theme
  119. Урок 119. 00:00:50
    Course Roundup