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