Урок 1. 00:06:01
Introduction
Урок 2. 00:01:02
About me
Урок 3. 00:01:53
Options API vs. Composition API
Урок 4. 00:01:40
Installing Go
Урок 5. 00:01:18
Installing Visual Studio Code
Урок 6. 00:00:40
Installing the Vetur VS Code extension
Урок 7. 00:01:28
Installing make
Урок 8. 00:01:15
How to ask for help
Урок 9. 00:01:04
What we are going to cover in this section
Урок 10. 00:08:07
Using Vue with a CDN (npm comes later)
Урок 11. 00:04:03
The structure of a Vue app
Урок 12. 00:03:55
Adding a simple form element and binding data
Урок 13. 00:04:43
Adding a counter
Урок 14. 00:04:34
Vue Components - Getting Started
Урок 15. 00:05:19
Creating a reusable form input component
Урок 16. 00:03:08
Trying out our TextInput component
Урок 17. 00:07:14
The Vue lifecycle and client side validation
Урок 18. 00:13:16
Nesting components within components
Урок 19. 00:07:11
Adding a select form component
Урок 20. 00:03:20
Adding a checkbox form component
Урок 21. 00:10:51
Conditional Rendering
Урок 22. 00:07:07
Fetching remote data
Урок 23. 00:07:15
Using the data we fetch in our Vue application
Урок 24. 00:02:51
Adding some interactivity to our list of books
Урок 25. 00:04:31
Removing a book from the list
Урок 26. 00:01:35
Installing Node.js
Урок 27. 00:01:03
Installing vue-cli
Урок 28. 00:03:43
Building and running a simple Vue application with vue-cli
Урок 29. 00:07:55
The structure of a vue-cli application
Урок 30. 00:03:08
Getting started with our app
Урок 31. 00:07:28
Registering header, body, and footer components
Урок 32. 00:01:44
Adding navigation to our header component
Урок 33. 00:02:33
Adding content to our body component
Урок 34. 00:02:59
Adding content to our footer component
Урок 35. 00:01:57
Installing the Vue Router
Урок 36. 00:03:13
Getting started with the Vue Router
Урок 37. 00:03:13
Adding our routes in App.vue and main.js
Урок 38. 00:03:17
Creating a second component and updating our navigation links
Урок 39. 00:09:03
Adding and using our form Vue Components from the previous section
Урок 40. 00:04:32
Creating and implementing a re-usable Form tag component
Урок 41. 00:00:00
Improving our Login form by binding data and listening for an event
Урок 42. 00:09:53
Improving our FormTag and simplifying client side validation
Урок 43. 00:08:27
How Go works with JSON files
Урок 44. 00:12:18
Setting up our project
Урок 45. 00:13:44
Improving routes
Урок 46. 00:06:03
Connecting from Vue to Go - the first try
Урок 47. 00:04:21
Implementing CORS in our routes.go file
Урок 48. 00:01:47
Connecting from Vue to Go - the second try
Урок 49. 00:08:24
ReadJSON and WriteJSON helper functions
Урок 50. 00:03:44
Simplifying our handlers to use the new helper functions
Урок 51. 00:02:16
Adding a helper function to generate error messages
Урок 52. 00:04:39
Setting up a database with Docker
Урок 53. 00:00:54
Choosing a Postgres client
Урок 54. 00:04:24
Trying out Beekeeper and setting up a users table
Урок 55. 00:09:08
Creating a database driver package
Урок 56. 00:05:29
Connecting to the database using our driver package
Урок 57. 00:05:09
Using a Makefile to simplify our lives
Урок 58. 00:05:35
Setting up a User model
Урок 59. 00:02:47
Setting up the tokens table
Урок 60. 00:04:13
Setting up a Token model
Урок 61. 00:09:10
How we will write database functions for authentication
Урок 62. 00:02:40
Manually adding a user to the database
Урок 63. 00:02:33
Creating a test route and handler to try things out
Урок 64. 00:03:55
Writing methods to get a user by email or id
Урок 65. 00:03:50
Writing methods to update and delete users
Урок 66. 00:05:06
Writing the Insert method for the User type
Урок 67. 00:05:16
Writing the Password reset and PasswordMatches functions for the User type
Урок 68. 00:05:44
Getting started with methods for the Token type
Урок 69. 00:13:00
Generating and authenticating a token
Урок 70. 00:06:09
Inserting and deleting tokens
Урок 71. 00:03:41
Adding a ValidToken method to the Token type
Урок 72. 00:05:48
Trying out the database functions: adding a user
Урок 73. 00:04:17
Trying out generating a token
Урок 74. 00:03:12
Trying out the Token type's Insert function
Урок 75. 00:06:07
Trying out the ValidToken function
Урок 76. 00:01:46
Adding a unique constraint to the users table
Урок 77. 00:06:14
Checking for database errors in errorJSON
Урок 78. 00:03:50
Improving our jsonResponse type with an envelope
Урок 79. 00:05:47
Updating our Login handler
Урок 80. 00:05:49
Updating the Vue front end to connect to /users/auth and get a token
Урок 81. 00:02:19
Trying out authentication
Урок 82. 00:07:09
Sharing data between components using a simple store
Урок 83. 00:07:39
Improving the login process
Урок 84. 00:03:21
Logging out
Урок 85. 00:03:37
Deleting a user's token on the back end on logout
Урок 86. 00:04:10
Making the request to delete a token from the front end
Урок 87. 00:11:02
Saving the token as a cookie
Урок 88. 00:05:53
Finishing up the improved login process
Урок 89. 00:04:19
An aside: speeding things up when writing JSON in production
Урок 90. 00:05:08
Protecting routes
Урок 91. 00:05:38
Trying out our route protection middleware
Урок 92. 00:08:07
Setting up stub components and routes
Урок 93. 00:09:01
Updating the Header component to link to our stub components
Урок 94. 00:04:27
Another aside: setting environment variables with a .env file
Урок 95. 00:04:55
Extracting authentication logic and security to a separate module
Урок 96. 00:03:29
Using our new Security JavaScript module
Урок 97. 00:04:32
Securing routes to protected components
Урок 98. 00:07:20
Getting a list of all users from the back end API
Урок 99. 00:04:32
Displaying the list of all users
Урок 100. 00:11:03
Getting started with the UserEdit Vue component
Урок 101. 00:10:33
Completing changes on the front end to submit a user to the back end
Урок 102. 00:06:39
Setting up the handler and route to save and update a user
Урок 103. 00:01:29
Trying out adding a user to the system
Урок 104. 00:05:55
Editing an existing user
Урок 105. 00:03:19
Trying out our updated code to edit a user
Урок 106. 00:11:47
Deleting a user
Урок 107. 00:03:03
Listening for emitted events in order to simplify user notificiations
Урок 108. 00:05:10
Emitting notie related events
Урок 109. 00:04:38
Checking for ready status when fetching
Урок 110. 00:06:32
Adding a "status" column to show whether a user is logged in or not
Урок 111. 00:09:13
Updating the back end to handle logging a user out
Урок 112. 00:06:25
Adding a handler to log the user out
Урок 113. 00:06:41
Updating the front end to log a user out
Урок 114. 00:05:45
Finishing up updates to the front end
Урок 115. 00:06:17
Re-render component: Updating the list of users after logging someone out
Урок 116. 00:11:43
Checking status of token on every request
Урок 117. 00:02:34
Trying out our ValidateToken handler and Security.checkToken() functionality.
Урок 118. 00:02:34
Adding database tables for Books, Authors, and Genres
Урок 119. 00:06:28
Inserting data, and reviewing the new code
Урок 120. 00:09:22
Getting started with listing all books
Урок 121. 00:12:11
Getting started displaying books on the front end
Урок 122. 00:11:51
Adding genres to the books and filtering by genre
Урок 123. 00:07:32
Improving our filter by adding a TransitionGroup
Урок 124. 00:13:18
Displaying individual books
Урок 125. 00:08:01
Saving the state of the Books component
Урок 126. 00:08:11
Listing all books for adminstrators
Урок 127. 00:04:11
Simplifying which components are cached, or kept alive
Урок 128. 00:17:31
Adding a book - part one
Урок 129. 00:08:43
Adding a book - part two
Урок 130. 00:12:52
Adding a book - part 3
Урок 131. 00:04:25
Getting the list of authors from the back end API
Урок 132. 00:06:19
Populating the select in our BookEdit Vue component with JSON from the back end
Урок 133. 00:11:38
Writing the EditBook handler
Урок 134. 00:06:46
Trying out inserting a book on the front end
Урок 135. 00:11:23
Editing a book
Урок 136. 00:05:14
Deleting a book
Урок 137. 00:05:40
Setting up the test environment
Урок 138. 00:07:29
Testing Routes
Урок 139. 00:09:57
Testing Handlers
Урок 140. 00:08:29
Testing readJSON and writeJSON
Урок 141. 00:04:44
Testing errorJSON
Урок 142. 00:05:41
Improving our errorJSON test
Урок 143. 00:12:03
Integration testing
Урок 144. 00:02:00
What is the Composition API
Урок 145. 00:12:28
Converting the Books component to use the Composition API
Урок 146. 00:08:04
Converting the Book component to the Composition API
Урок 147. 00:08:02
Converting the Login component to use the Composition API
Урок 148. 00:03:58
Updating dependencies
Урок 149. 00:03:16
Updating the .env
Урок 150. 00:01:59
Running npm run build to get the production version of our project
Урок 151. 00:05:08
Spinning up a docker image with our production build
Урок 152. 00:03:01
Where to go from here