1. Урок 1. 00:04:52
    1. Module introduction
  2. Урок 2. 00:05:36
    2. Demo of the case study app
  3. Урок 3. 00:07:14
    3. Contents of the course
  4. Урок 4. 00:03:27
    4. Environment setup
  5. Урок 5. 00:02:37
    5. Downloading the source code
  6. Урок 6. 00:06:08
    6. Keeping code and software in sync
  7. Урок 7. 00:00:35
    7. Module introduction
  8. Урок 8. 00:06:18
    8. Renaming the client source file directory
  9. Урок 9. 00:07:31
    9. Serving the full-stack app in development
  10. Урок 10. 00:02:34
    10. Dev server proxy
  11. Урок 11. 00:08:24
    11. Environment variables
  12. Урок 12. 00:03:54
    12. Linting a full-stack Vue app
  13. Урок 13. 00:02:35
    13. Module introduction
  14. Урок 14. 00:02:29
    14. Creating a route
  15. Урок 15. 00:04:15
    15. API development with Postman
  16. Урок 16. 00:06:23
    16. Using MVC directory structure
  17. Урок 17. 00:04:32
    17. Mongoose models
  18. Урок 18. 00:04:50
    18. Creating and viewing a document
  19. Урок 19. 00:09:07
    19. Adding model validation
  20. Урок 20. 00:03:03
    20. Refactoring using schema
  21. Урок 21. 00:03:48
    21. Creating the POST /items route
  22. Урок 22. 00:02:19
    22. Body parser middleware
  23. Урок 23. 00:04:24
    23. Writing to the database
  24. Урок 24. 00:01:04
    24. Module introduction
  25. Урок 25. 00:06:37
    25. Setting up Mocha
  26. Урок 26. 00:04:34
    26. Assertions and asynchronous tests
  27. Урок 27. 00:02:43
    27. Unit testing an API
  28. Урок 28. 00:06:46
    28. API test setup
  29. Урок 29. 00:04:21
    29. Testing server response
  30. Урок 30. 00:06:16
    30. Testing database state
  31. Урок 31. 00:08:13
    31. GET /items route and database seed
  32. Урок 32. 00:05:58
    32. GET /items/:id route
  33. Урок 33. 00:08:53
    33. Testing endpoints with dynamic segments
  34. Урок 34. 00:02:59
    34. Sad path tests
  35. Урок 35. 00:01:10
    35. Module introduction
  36. Урок 36. 00:05:38
    36. Creating users
  37. Урок 37. 00:11:07
    37. JSON web tokens
  38. Урок 38. 00:05:54
    38. Generating a JWT
  39. Урок 39. 00:03:56
    39. Attaching the token to a request
  40. Урок 40. 00:06:41
    40. Securing requests and responses
  41. Урок 41. 00:14:07
    41. Securing an endpoint
  42. Урок 42. 00:05:39
    42. Auth middleware
  43. Урок 43. 00:06:11
    43. Seeding database with users
  44. Урок 44. 00:13:25
    44. Testing secured endpoints
  45. Урок 45. 00:09:17
    45. Hashing passwords
  46. Урок 46. 00:11:48
    46. Logging in
  47. Урок 47. 00:05:56
    47. User roles
  48. Урок 48. 00:08:17
    48. Protecting item routes
  49. Урок 49. 00:05:58
    49. Testing protected routes
  50. Урок 50. 00:01:50
    50. Module introduction
  51. Урок 51. 00:02:55
    51. API changes
  52. Урок 52. 00:04:08
    52. Tour of the client app
  53. Урок 53. 00:09:53
    53. Introduction to Vuex ORM
  54. Урок 54. 00:04:27
    54. Creating them item model
  55. Урок 55. 00:06:36
    55. Querying the API
  56. Урок 56. 00:04:45
    56. Creating the item page
  57. Урок 57. 00:06:19
    57. Setting up the shopping cart
  58. Урок 58. 00:08:15
    58. Binding cart item controls to Vuex
  59. Урок 59. 00:06:29
    59. Implementing cart count
  60. Урок 60. 00:06:30
    60. Cart total and persisting state
  61. Урок 61. 00:05:41
    61. API error handling
  62. Урок 62. 00:01:43
    62. Module introduction
  63. Урок 63. 00:06:57
    63. Introduction to Vue Auth
  64. Урок 64. 00:03:26
    64. Creating a user model
  65. Урок 65. 00:10:19
    65. Binding forms to Vuex ORM
  66. Урок 66. 00:10:35
    66. Setting up the login form
  67. Урок 67. 00:06:22
    67. Setting up the registration form
  68. Урок 68. 00:07:21
    68. Role-based UI features
  69. Урок 69. 00:07:20
    69. Logging out via the UI
  70. Урок 70. 00:11:50
    70. Admin page - create item
  71. Урок 71. 00:10:04
    71. Admin page - edit item
  72. Урок 72. 00:01:59
    72. Module introduction
  73. Урок 73. 00:05:01
    73. What is E2E testing and why do we need it?
  74. Урок 74. 00:05:46
    74. Setting up and using Nightwatch
  75. Урок 75. 00:05:29
    75. Designing E2E tests
  76. Урок 76. 00:06:18
    76. Creating E2E test assertions
  77. Урок 77. 00:07:49
    77. Working with page objects
  78. Урок 78. 00:12:39
    78. Controlling API server and database
  79. Урок 79. 00:10:17
    79. Registering a user
  80. Урок 80. 00:04:04
    80. Page commands
  81. Урок 81. 00:13:06
    81. Custom commands
  82. Урок 82. 00:11:04
    82. Refactoring into smaller tests
  83. Урок 83. 00:09:12
    83. Check item in cart test
  84. Урок 84. 00:00:47
    84. Completing E2E tests
  85. Урок 85. 00:01:25
    85. Module introduction
  86. Урок 86. 00:04:17
    86. Unit testing with Jest
  87. Урок 87. 00:06:37
    87. Testing components with Vue Test Utils
  88. Урок 88. 00:10:02
    88. Setting up component tests
  89. Урок 89. 00:08:26
    89. What is snapshot testing?
  90. Урок 90. 00:04:16
    90. Creating a wrapper factory
  91. Урок 91. 00:08:01
    91. Using mocks
  92. Урок 92. 00:09:20
    92. Testing the Item view
  93. Урок 93. 00:08:45
    93. Using stubs
  94. Урок 94. 00:07:02
    94. Using spies
  95. Урок 95. 00:07:41
    95. Testing Vuex store
  96. Урок 96. 00:16:29
    96. Testing CartItem component
  97. Урок 97. 00:01:49
    97. Completing component unit tests
  98. Урок 98. 00:01:49
    98. Module introduction
  99. Урок 99. 00:04:22
    99. Introduction to continuous deployment
  100. Урок 100. 00:04:00
    100. Configuring GitLab CI
  101. Урок 101. 00:06:54
    101. Triggering CD workflow
  102. Урок 102. 00:08:27
    102. Jobs and stages
  103. Урок 103. 00:05:16
    103. Pipeline optimization
  104. Урок 104. 00:05:45
    104. Server unit test job
  105. Урок 105. 00:04:15
    105. E2E test job
  106. Урок 106. 00:05:09
    106. Creating a Heroku app
  107. Урок 107. 00:03:49
    107. Provisioning mLab database
  108. Урок 108. 00:03:59
    108. Optimizing concurrency
  109. Урок 109. 00:06:54
    109. Completing CD workflow
  110. Урок 110. 00:00:51
    110. Module introduction
  111. Урок 111. 00:04:57
    111. Setting up apiDoc
  112. Урок 112. 00:03:50
    112. Documenting the API
  113. Урок 113. 00:05:20
    113. Working with a request body
  114. Урок 114. 00:05:16
    114. Authenticated routes
  115. Урок 115. 00:03:59
    115. Reusable doc snippets
  116. Урок 116. 00:08:09
    116. API responses
  117. Урок 117. 00:05:01
    117. API docs finishing touches
  118. Урок 118. 00:00:40
    118. Module introduction
  119. Урок 119. 00:05:27
    119. Creating a component styleguide
  120. Урок 120. 00:06:40
    120. Documenting components
  121. Урок 121. 00:05:01
    121. Creating live component previews
  122. Урок 122. 00:04:32
    122. Adding dependencies to preview components
  123. Урок 123. 00:04:07
    123. Passing props to preview components
  124. Урок 124. 00:04:57
    124. Adding Vuex to preview components
  125. Урок 125. 00:04:38
    125. Mocking Vue Router
  126. Урок 126. 00:05:11
    126. Mocking Vue Auth
  127. Урок 127. 00:02:56
    127. Styleguide finishing touches