1. Урок 1. 00:02:28
    Introduction
  2. Урок 2. 00:01:27
    Technology
  3. Урок 3. 00:01:10
    Methodology
  4. Урок 4. 00:06:34
    Backend
  5. Урок 5. 00:03:20
    Frontend
  6. Урок 6. 00:02:28
    Frontend Test Configuration
  7. Урок 7. 00:01:02
    User Signup Page
  8. Урок 8. 00:12:33
    Post User (Backend)
  9. Урок 9. 00:11:25
    Saving User to Database (Backend)
  10. Урок 10. 00:06:00
    Response Body (Backend)
  11. Урок 11. 00:08:58
    Password Hashing (Backend)
  12. Урок 12. 00:07:45
    User Signup Page (Frontend)
  13. Урок 13. 00:06:53
    Form Layout (Frontend)
  14. Урок 14. 00:09:01
    Handling Input Change (Frontend)
  15. Урок 15. 00:12:59
    Click Handling (Frontend)
  16. Урок 16. 00:03:33
    Styling (Frontend)
  17. Урок 17. 00:07:35
    Sending Requests to Backend (Frontend)
  18. Урок 18. 00:12:58
    Progress Indicator (Frontend)
  19. Урок 19. 00:00:56
    Validation
  20. Урок 20. 00:12:52
    User Validation (Backend)
  21. Урок 21. 00:08:21
    Error Modelling (Backend)
  22. Урок 22. 00:11:49
    Error Messages Internationalization (Backend)
  23. Урок 23. 00:15:57
    Custom Constraint (Backend)
  24. Урок 24. 00:05:22
    Displaying Validation Errors (Frontend)
  25. Урок 25. 00:19:08
    Form Input Component (Frontend)
  26. Урок 26. 00:09:25
    Clientside Validation (Frontend)
  27. Урок 27. 00:01:00
    Login
  28. Урок 28. 00:08:51
    Login (Backend)
  29. Урок 29. 00:12:07
    Login Errors (Backend)
  30. Урок 30. 00:09:29
    Authentication (Backend)
  31. Урок 31. 00:05:19
    Authenticated User (Backend)
  32. Урок 32. 00:07:48
    User View Model (Backend)
  33. Урок 33. 00:05:23
    Login Page (Frontend)
  34. Урок 34. 00:03:35
    Handling Input Change (Frontend)
  35. Урок 35. 00:11:59
    Click Handling (Frontend)
  36. Урок 36. 00:03:14
    Sending Request to Backend (Frontend)
  37. Урок 37. 00:07:01
    Progress Indicator (Frontend)
  38. Урок 38. 00:00:33
    Client Internal Routing
  39. Урок 39. 00:03:05
    New Pages (Frontend)
  40. Урок 40. 00:11:15
    React Router (Frontend)
  41. Урок 41. 00:05:00
    Login Success Routing (Frontend)
  42. Урок 42. 00:01:49
    Signup Success Routing (Frontend)
  43. Урок 43. 00:11:23
    TopBar (Frontend)
  44. Урок 44. 00:00:36
    Client State Management
  45. Урок 45. 00:01:38
    Redux (Frontend)
  46. Урок 46. 00:04:22
    Redux Initial Configuration (Frontend)
  47. Урок 47. 00:07:56
    Connecting to Redux (Frontend)
  48. Урок 48. 00:04:40
    Dispatching Action (Frontend)
  49. Урок 49. 00:07:53
    Connecting LoginPage to Redux (Frontend)
  50. Урок 50. 00:04:34
    Connecting UserSignupPage to Redux (Frontend)
  51. Урок 51. 00:11:12
    Redux Middleware (Frontend)
  52. Урок 52. 00:07:20
    Combining Signup And Login Actions (Frontend)
  53. Урок 53. 00:05:28
    Storing State in LocalStorage (Frontend)
  54. Урок 54. 00:06:10
    Axios Authorization Configuration (Frontend)
  55. Урок 55. 00:01:09
    Listing Users
  56. Урок 56. 00:09:37
    Get Users (Backend)
  57. Урок 57. 00:06:40
    User Modelling JsonView (Backend)
  58. Урок 58. 00:03:07
    User Modelling Projection (Backend)
  59. Урок 59. 00:03:08
    User Modelling UserVM (Backend)
  60. Урок 60. 00:11:35
    Pagination (Backend)
  61. Урок 61. 00:02:36
    Excluding Logged in User (Backend)
  62. Урок 62. 00:02:17
    Creating Random Users (Backend)
  63. Урок 63. 00:04:06
    User List Api (Frontend)
  64. Урок 64. 00:14:43
    User List (Frontend)
  65. Урок 65. 00:05:45
    User List Item (Frontend)
  66. Урок 66. 00:09:36
    User List Page (Frontend)
  67. Урок 67. 00:04:13
    Load Errors (Frontend)
  68. Урок 68. 00:03:19
    Navigation (Frontend)
  69. Урок 69. 00:00:47
    User Profile
  70. Урок 70. 00:06:50
    Get User By Name (Backend)
  71. Урок 71. 00:01:02
    User Get Api (Frontend)
  72. Урок 72. 00:06:41
    Load User Success (Frontend)
  73. Урок 73. 00:03:20
    Load User Failure (Frontend)
  74. Урок 74. 00:07:53
    Navigating From User To My Profile (Frontend)
  75. Урок 75. 00:06:40
    Profile Card (Frontend)
  76. Урок 76. 00:06:45
    Profile Image With Default (Frontend)
  77. Урок 77. 00:05:59
    Profile Loading (Frontend)
  78. Урок 78. 00:00:31
    User Update
  79. Урок 79. 00:08:49
    Security (Backend)
  80. Урок 80. 00:07:15
    Update Model (Backend)
  81. Урок 81. 00:01:18
    User Update Api (Frontend)
  82. Урок 82. 00:06:03
    Edit Button (Frontend)
  83. Урок 83. 00:07:14
    User Edit Layout (Frontend)
  84. Урок 84. 00:03:57
    User Interactions (Frontend)
  85. Урок 85. 00:07:06
    Sending Update Request (Frontend)
  86. Урок 86. 00:05:07
    Cancelling Update (Frontend)
  87. Урок 87. 00:06:27
    Progress Indicator (Frontend)
  88. Урок 88. 00:00:46
    User Update with Profile Image
  89. Урок 89. 00:04:15
    Update User Image (Backend)
  90. Урок 90. 00:03:39
    File Storage (Backend)
  91. Урок 91. 00:07:36
    External Configuration (Backend)
  92. Урок 92. 00:06:14
    Spring Profiles (Backend)
  93. Урок 93. 00:05:46
    Static Resource Checks (Backend)
  94. Урок 94. 00:02:45
    Static Resource Caching (Backend)
  95. Урок 95. 00:04:25
    File Upload Implementation (Backend)
  96. Урок 96. 00:01:28
    File Upload Layout (Frontend)
  97. Урок 97. 00:06:28
    File Selection Interactions (Frontend)
  98. Урок 98. 00:04:54
    Sending Update Request (Frontend)
  99. Урок 99. 00:00:28
    User Update Validation
  100. Урок 100. 00:02:20
    User DisplayName Update Validation (Backend)
  101. Урок 101. 00:06:14
    File Type Check (Backend)
  102. Урок 102. 00:04:54
    Profile Image Constraint (Backend)
  103. Урок 103. 00:02:14
    Removing Old Image (Backend)
  104. Урок 104. 00:03:09
    Displayname Validation (Frontend)
  105. Урок 105. 00:03:07
    File Validation (Frontend)
  106. Урок 106. 00:04:14
    Clearing Validation Errors (Frontend)
  107. Урок 107. 00:00:31
    User Info on TopBar
  108. Урок 108. 00:03:56
    TopBar with User Info (Frontend)
  109. Урок 109. 00:03:42
    User Actions Menu Layout (Frontend)
  110. Урок 110. 00:09:32
    Menu Interactions (Frontend)
  111. Урок 111. 00:05:30
    Updating Redux with User Changes (Frontend)
  112. Урок 112. 00:01:07
    Hoax Submit
  113. Урок 113. 00:06:34
    Hoax Post (Backend)
  114. Урок 114. 00:05:42
    Saving Hoax to Database (Backend)
  115. Урок 115. 00:08:06
    Validation (Backend)
  116. Урок 116. 00:09:06
    Hoax User Relationship (Backend)
  117. Урок 117. 00:05:04
    Lazy Initialization Exception (Backend)
  118. Урок 118. 00:01:03
    Hoax Submit Api (Frontend)
  119. Урок 119. 00:04:59
    Hoax Submit View (Frontend)
  120. Урок 120. 00:03:02
    Connecting Hoax Submit View to Redux (Frontend)
  121. Урок 121. 00:05:16
    User Interactions (Frontend)
  122. Урок 122. 00:06:06
    Sending Request to Backend (Frontend)
  123. Урок 123. 00:07:01
    Progress Indicator (Frontend)
  124. Урок 124. 00:04:31
    Displaying Validation Errors (Frontend)
  125. Урок 125. 00:02:26
    Hoax Submit Conditional Visibility (Frontend)
  126. Урок 126. 00:00:49
    Hoax Feed
  127. Урок 127. 00:05:13
    Get All Hoaxes (Backend)
  128. Урок 128. 00:04:14
    Hoax View Model (Backend)
  129. Урок 129. 00:11:39
    Get Hoaxes of User (Backend)
  130. Урок 130. 00:03:23
    Hoax Get Api (Frontend)
  131. Урок 131. 00:08:41
    HoaxFeed (Frontend)
  132. Урок 132. 00:08:26
    Hoaxes in HoaxFeed (Frontend)
  133. Урок 133. 00:08:54
    HoaxView (Frontend)
  134. Урок 134. 00:01:48
    Link to User (Frontend)
  135. Урок 135. 00:02:00
    Hoax Pagination (Frontend)
  136. Урок 136. 00:01:01
    Hoax Feed Pagination
  137. Урок 137. 00:09:17
    Old Hoaxes (Backend)
  138. Урок 138. 00:06:51
    Old Hoaxes of User (Backend)
  139. Урок 139. 00:07:29
    New Hoaxes (Backend)
  140. Урок 140. 00:05:33
    New Hoaxes of User (Backend)
  141. Урок 141. 00:04:53
    New Hoaxes Count (Backend)
  142. Урок 142. 00:09:22
    Refactoring (Backend)
  143. Урок 143. 00:04:58
    Relative Hoax Feed Api (Frontend)
  144. Урок 144. 00:08:21
    Old Hoaxes (Frontend)
  145. Урок 145. 00:16:01
    New Hoaxes Count (Frontend)
  146. Урок 146. 00:05:47
    Time in Tests (Frontend)
  147. Урок 147. 00:04:54
    New Hoaxes (Frontend)
  148. Урок 148. 00:11:30
    Progress Indicator (Frontend)
  149. Урок 149. 00:00:44
    Hoax Attachment
  150. Урок 150. 00:07:15
    File Upload Controller Security (Backend)
  151. Урок 151. 00:03:20
    File Data Model (Backend)
  152. Урок 152. 00:03:08
    Storage Check (Backend)
  153. Урок 153. 00:04:13
    Storing File Info in DB (Backend)
  154. Урок 154. 00:11:40
    Hoax File Relation (Backend)
  155. Урок 155. 00:06:20
    Stale File Query (Backend)
  156. Урок 156. 00:07:13
    Scheduled Service for Cleanup (Backend)
  157. Урок 157. 00:01:05
    File Upload Api (Frontend)
  158. Урок 158. 00:07:25
    Hoax Submit UI For File (Frontend)
  159. Урок 159. 00:08:36
    Hoax File Submit Api Interactions (Frontend)
  160. Урок 160. 00:04:08
    HoaxView With Attachment (Frontend)
  161. Урок 161. 00:00:34
    Deleting Hoaxes
  162. Урок 162. 00:04:59
    Hoax Delete Controller (Backend)
  163. Урок 163. 00:05:09
    Method Level Security (Backend)
  164. Урок 164. 00:03:00
    Removing Attachments (Backend)
  165. Урок 165. 00:01:01
    Hoax Delete Api (Frontend)
  166. Урок 166. 00:05:25
    Delete in HoaxView (Frontend)
  167. Урок 167. 00:09:11
    Delete Confirm Dialog (Frontend)
  168. Урок 168. 00:06:26
    Hoax Delete Modal Interactions (Frontend)
  169. Урок 169. 00:07:35
    Hoax Delete Api Interactions (Frontend)
  170. Урок 170. 00:01:06
    Upgrading Spring Boot
  171. Урок 171. 00:06:14
    Migrating to JUnit 5
  172. Урок 172. 00:06:18
    Upgrading Frontend Dependencies
  173. Урок 173. 00:01:43
    Hooks
  174. Урок 174. 00:11:46
    useState in LoginPage
  175. Урок 175. 00:04:19
    useEffect in LoginPage
  176. Урок 176. 00:19:34
    UserSignupPage with Hooks
  177. Урок 177. 00:13:07
    UserList with Hooks
  178. Урок 178. 00:14:40
    UserPage with Hooks
  179. Урок 179. 00:30:45
    useReducer
  180. Урок 180. 00:22:07
    HoaxFeed with Hooks
  181. Урок 181. 00:09:51
    TopBar with Hooks
  182. Урок 182. 00:04:31
    useClickTracker
  183. Урок 183. 00:11:30
    DropDown on HoaxView
  184. Урок 184. 00:03:07
    Outro