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) |