Enterprise Vue
Whether you want to accelerate your career or step-up the quality of your craft. Join this immersive online training program for Vue professionals in 2020.
I. Introduction
| 1. Module introduction (04:51) | |
| 2. Demo of the case study app (05:35) | |
| 3. Contents of the course (07:13) | |
| 4. Installing source code (01:55) | |
| 5. Using Docker virtual environment (03:19) | |
| 6. Keeping code and software in sync (05:03) |
II. Full-stack scaffolding with Vue CLI
| 7. Module introduction (00:51) | |
| 8. Renaming the client source file directory (06:17) | |
| 9. Serving the the full-stack app in development (07:30) | |
| 10. Dev server proxy (02:33) | |
| 11. Environment variables (08:24) | |
| 12. Linting a full-stack Vue app (03:54) |
III. Building an API with Node, Express, and MongoDB
| 13. Module introduction (02:35) | |
| 14. Creating a route (02:28) | |
| 15. API development with Postman (04:14) | |
| 16. Using MVC directory structure (06:22) | |
| 17. Mongoose models (04:31) | |
| 18. Creating and viewing a document (04:49) | |
| 19. Adding model validation (09:06) | |
| 20. Refactoring using schema (03:02) | |
| 21. Creating the POST /items route (03:47) | |
| 22. Body parser middleware (02:18) | |
| 23. Writing to the database (04:23) |
IV. API Unit Testing with Mocha
| 24. Module introduction (02:55) | |
| 25. Setting up Mocha (06:37) | |
| 26. Assertions and Asynchronous Test Cases (04:33) | |
| 27. Unit testing an API (02:43) | |
| 28. API test setup (06:45) | |
| 29. Testing server response (04:20) | |
| 30. Checking database (06:15) | |
| 31. GET /items route and database seed (08:13) | |
| 32. GET /items/:id route (05:57) | |
| 33. Testing endpoints with dynamic segments (08:52) | |
| 34. Sad path tests (02:58) |
V. API authentication with JSON web tokens
| 35. Module introduction (02:04) | |
| 36. Creating users (05:37) | |
| 37. JSON web tokens (11:07) | |
| 38. Generating a JWT (05:54) | |
| 39. Attaching the token to a request (03:56) | |
| 40. Securing requests and responses (06:40) | |
| 41. Protecting endpoints (14:06) | |
| 42. Auth middleware (05:38) | |
| 43. Seeding test database with users (06:10) | |
| 44. Testing secured endpoints (13:24) | |
| 45. Hashing passwords (09:17) | |
| 46. Logging in (11:47) | |
| 47. User roles (05:55) | |
| 48. Protecting item routes (08:17) | |
| 49. Testing protected routes (05:57) |
VI. Frontend CRUD with Vuex ORM
| 50. Module introduction (01:50) | |
| 51. API changes (02:55) | |
| 52. Tour of the client app (04:07) | |
| 53. Introduction to Vuex ORM (09:53) | |
| 54. Creating them item model (04:26) | |
| 55. Querying the API (06:35) | |
| 56. Creating the item page (04:44) | |
| 57. Setting up the shopping cart (06:18) | |
| 58. Binding cart item controls to Vuex (08:15) | |
| 59. Implementing cart count (06:29) | |
| 60. Cart total and persisting state (06:29) | |
| 61. API error handling (05:40) |
VII. Frontend authentication with Vue Auth
| 62. Module introduction (02:05) | |
| 63. Intro to Vue Auth (06:56) | |
| 64. Creating the user model (03:26) | |
| 65. Binding form inputs (10:18) | |
| 66. Setting up the login form (10:34) | |
| 67. Setting up the registration form (06:21) | |
| 68. Role-based UI features (07:20) | |
| 69. Logging out via the UI (07:19) | |
| 70. Creating items (11:50) | |
| 71. Editing items (10:04) |
VIII. Automated browser testing with Nightwatch
| 72. Module introduction (02:35) | |
| 73. What is E2E testing and why do we need it? (05:00) | |
| 74. Setting up and using Nightwatch (05:45) | |
| 75. Designing E2E tests (05:29) | |
| 76. Creating E2E test assertions (06:17) | |
| 77. Working with page objects (07:48) | |
| 78. Controlling API server and database (12:39) | |
| 79. Registering a user (10:17) | |
| 80. Page commands (04:04) | |
| 81. Custom commands (13:06) | |
| 82. Refactoring into smaller tests (11:04) | |
| 83. Check item in cart (09:11) | |
| 84. Completing E2E tests (00:46) |
IX. Frontend unit testing with Jest and Vue Test Utils
| 85. Module introduction (01:38) | |
| 86. Unit testing with Jest (04:16) | |
| 87. Testing components with Vue Test Utils (06:36) | |
| 88. Setting up component tests (10:01) | |
| 89. What is snapshot testing? (08:25) | |
| 90. Creating a wrapper factory (04:15) | |
| 91. Using mocks (08:00) | |
| 92. Testing the Item view (09:20) | |
| 93. Using stubs (08:45) | |
| 94. Using spies (07:02) | |
| 95. Testing Vuex store (07:40) | |
| 96. Testing CartItem component (16:29) | |
| 97. Completing component unit tests (01:49) |
X. Continuous Deployment of a full-stack Vue app
| 98. Module introduction (02:21) | |
| 99. Introduction to continuous deployment (04:21) | |
| 100. Configuring GitLab CI (03:59) | |
| 101. Triggering CD workflow (06:53) | |
| 102. Stages and jobs (08:27) | |
| 103. Pipeline optimization (05:16) | |
| 104. Server unit tests (05:45) | |
| 105. E2E test job (04:14) | |
| 106. Setting up Heroku (05:09) | |
| 107. Provision mLab database (03:48) | |
| 108. Optimizing concurrency (03:58) | |
| 109. Completing CD workflow (06:15) |
XI. API documentation with apiDoc
| 110. Module introduction (01:43) | |
| 111. Setting up apiDoc (04:57) | |
| 112. Documenting the API (03:49) | |
| 113. Working with a request body (06:39) | |
| 114. Authenticated routes (05:15) | |
| 115. Reusing doc snippets (03:59) | |
| 116. API responses (08:08) | |
| 117. API docs finishing touches (05:01) |