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