Full-Stack Vue + Node
Learn to build a full-stack Vue.js CRUD app and authenticated Node.js API with MongoDB.
I. Introduction
1. Introduction (03:35) | |
2. Demo of the case study app (05:35) | |
3. Environment setup (07:13) | |
3. Installing source code (01:55) | |
4. Using Docker virtual environment (03:19) |
II. Full-stack scaffolding with Vue CLI
III. Building an API with Node, Express, and MongoDB
10. Environment variables (08:24) | |
11. Linting a full-stack Vue app (03:54) | |
12. Module introduction (02:35) | |
13. Creating a route (02:28) | |
14. API development with Postman (04:14) | |
15. Using MVC directory structure (06:22) | |
16. Mongoose models (04:31) | |
17. Creating and viewing a document (04:49) | |
18. Adding model validation (09:06) | |
19. Refactoring using schema (03:02) | |
20. Creating the POST /items route (03:47) |
IV. API Unit Testing with Mocha
21. Body parser middleware (02:18) | |
22. Writing to the database (04:23) | |
23. Module introduction (02:55) | |
24. Setting up Mocha (06:37) | |
25. Assertions and Asynchronous Test Cases (04:33) | |
26. Unit testing an API (02:43) | |
27. API test setup (06:45) | |
28. Testing server response (04:20) | |
29. Checking database (06:15) | |
30. GET /items route and database seed (08:13) | |
31. GET /items/:id route (05:57) |
V. API authentication with JSON web tokens
32. Testing endpoints with dynamic segments (08:52) | |
33. Sad path tests (02:58) | |
34. Module introduction (02:04) | |
35. Creating users (05:37) | |
36. JSON web tokens (11:07) | |
37. Generating a JWT (05:54) | |
38. Attaching the token to a request (03:56) | |
39. Securing requests and responses (06:40) | |
40. Protecting endpoints (14:06) | |
41. Auth middleware (05:38) | |
42. Seeding test database with users (06:10) | |
43. Testing secured endpoints (13:24) | |
44. Hashing passwords (09:17) | |
45. Logging in (11:47) | |
46. User roles (05:55) |
VI. Frontend CRUD with Vuex ORM
47. Protecting item routes (08:17) | |
48. Testing protected routes (05:57) | |
49. Module introduction (01:50) | |
50. API changes (02:55) | |
51. Tour of the client app (04:07) | |
52. Introduction to Vuex ORM (09:53) | |
53. Creating them item model (04:26) | |
54. Querying the API (06:35) | |
55. Creating the item page (04:44) | |
56. Setting up the shopping cart (06:18) | |
57. Binding cart item controls to Vuex (08:15) | |
58. Implementing cart count (06:29) |
VII. Frontend authentication with Vue Auth
59. Cart total and persisting state (06:29) | |
60. API error handling (05:40) | |
61. Module introduction (02:05) | |
62. Intro to Vue Auth (06:56) | |
63. Creating the user model (03:26) | |
64. Binding form inputs (10:18) | |
65. Setting up the login form (10:34) | |
66. Setting up the registration form (06:21) | |
67. Role-based UI features (07:20) | |
68. Logging out via the UI (07:19) | |
69. Creating items (11:50) |