Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Master Deno, React, Mongo, NGINX running with Docker-Compose, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:20:13
    Creating the Docker compose file
  2. Урок 2. 00:07:30
    Creating the frontend Dockerfile
  3. Урок 3. 00:05:43
    Creating the API Dockerfile
  4. Урок 4. 00:07:49
    Creating our React app in a Docker container
  5. Урок 5. 00:06:09
    Hello from Deno from Docker
  6. Урок 6. 00:07:47
    Importing our first module Oak
  7. Урок 7. 00:09:27
    Exporting our routes
  8. Урок 8. 00:07:58
    Creating our first Controller
  9. Урок 9. 00:15:53
    Connecting Deno to Mongo
  10. Урок 10. 00:05:12
    Saving our first value into MongoDB
  11. Урок 11. 00:18:03
    Refactoring for a Singleton our first Design Pattern
  12. Урок 12. 00:15:16
    Creating our Model and Schema
  13. Урок 13. 00:08:40
    Validating our post request
  14. Урок 14. 00:12:33
    GetAll Endpoint with Mongo
  15. Урок 15. 00:07:38
    Get the query parameters from URL and request one item
  16. Урок 16. 00:03:07
    Return a 404 when no to-do is found
  17. Урок 17. 00:04:11
    Delete a to-do from Mongo
  18. Урок 18. 00:14:33
    Updating a record in Mongo
  19. Урок 19. 00:11:48
    Validating the Update
  20. Урок 20. 00:11:00
    Creating our custom validator using Validasaur
  21. Урок 21. 00:05:15
    Validasaur limitations notNull and requiredWhen and Optional
  22. Урок 22. 00:07:55
    Creating our first Interface
  23. Урок 23. 00:19:22
    Creating our first Mongo Repository
  24. Урок 24. 00:03:11
    Testing all endpoints with postman
  25. Урок 25. 00:02:05
    How to add headers to one of our endpoints
  26. Урок 26. 00:06:16
    Implement our first middleware
  27. Урок 27. 00:02:41
    Creating Content Type Json responses without need to set the headers
  28. Урок 28. 00:06:48
    Creating a not found middle-ware
  29. Урок 29. 00:05:58
    Cleaning up the Any types - RouterContext type
  30. Урок 30. 00:02:50
    Cleaning up Response type and Importing Status Enum to define our Not Found
  31. Урок 31. 00:01:34
    Cleaning up the Application type
  32. Урок 32. 00:02:47
    Cleaning up the Next type
  33. Урок 33. 00:03:46
    Finally a type we can choose
  34. Урок 34. 00:11:37
    Creating the order to- do router
  35. Урок 35. 00:11:25
    Creating a more standard router URL using Docker to keep the API version
  36. Урок 36. 00:07:14
    Reusing our new router creator to create the new to-do order endpoints
  37. Урок 37. 00:03:57
    Data shape in MongoDB
  38. Урок 38. 00:08:50
    Validating the MongoID
  39. Урок 39. 00:04:47
    Creating Lookups and more Projections in MongoDB
  40. Урок 40. 00:08:51
    Creating projections in MongoDB
  41. Урок 41. 00:06:34
    Implementing our projections in Deno
  42. Урок 42. 00:04:34
    Saving our order to-do into MongoDB
  43. Урок 43. 00:02:52
    Understanding why we should always respect the SIG Family
  44. Урок 44. 00:08:06
    Implement the Deno listeners for your Docker termination signals
  45. Урок 45. 00:02:18
    Deno is listening but nothing happens, is Docker really saying something?
  46. Урок 46. 00:04:30
    Passing the termination signal from Deno to Oak
  47. Урок 47. 00:03:24
    Refactoring the code to a Signal Manager function
  48. Урок 48. 00:05:11
    Deno, CORS. What and why?
  49. Урок 49. 00:02:17
    Pre-Fligth, when options are not always a option
  50. Урок 50. 00:01:55
    Inserting the ID into your new todo response (trust me we will need that later)
  51. Урок 51. 00:03:27
    Review and clean up
  52. Урок 52. 00:09:34
    Installing ans setting up UIkit
  53. Урок 53. 00:04:46
    Creating the Navbar and the Logo
  54. Урок 54. 00:06:00
    Adding the search bar on the Navbar
  55. Урок 55. 00:03:33
    Refactoring the Navbar to its on component
  56. Урок 56. 00:02:47
    Let's make it Sticky to the top
  57. Урок 57. 00:05:46
    Creating the card
  58. Урок 58. 00:02:12
    Refactoring the card component
  59. Урок 59. 00:05:11
    Creating our groups
  60. Урок 60. 00:04:05
    Making it Drag'n'drop
  61. Урок 61. 00:06:18
    Refactoring group and grouping items
  62. Урок 62. 00:07:35
    Creating a floating action button
  63. Урок 63. 00:01:20
    Refactoring the float action button
  64. Урок 64. 00:05:46
    Creating and triggering our modal
  65. Урок 65. 00:04:42
    Creating the body of our modal
  66. Урок 66. 00:08:31
    Adding a Input field, a text area and a select area on our modal
  67. Урок 67. 00:06:35
    Adding a footer to the modal
  68. Урок 68. 00:02:25
    Refactoring the modal to its own component
  69. Урок 69. 00:06:06
    Creating our first Hook use State
  70. Урок 70. 00:08:50
    Create use State for our text area and option
  71. Урок 71. 00:01:20
    Renaming the groups
  72. Урок 72. 00:17:18
    Installing and using Immer to help us control the state
  73. Урок 73. 00:03:12
    Cleaning up the code, adding keys to components and default value to options
  74. Урок 74. 00:09:47
    Looping multidimensional arrays
  75. Урок 75. 00:09:04
    ?? Looping multidimensional arrays
  76. Урок 76. 00:02:01
    Passing props to To-do Card and creating its ID
  77. Урок 77. 00:08:34
    Listening to events using useEffect Hook
  78. Урок 78. 00:02:56
    Refactoring our Drag'n'drop hook
  79. Урок 79. 00:03:37
    Creating our first custom hook
  80. Урок 80. 00:04:50
    Passing Parameters and Functions to our custom hooks
  81. Урок 81. 00:05:51
    Creating a new custom hook useGroupHook that uses our previous custom hook
  82. Урок 82. 00:05:04
    Making our custom hook more reusable
  83. Урок 83. 00:05:37
    Adding proper names to our group containers
  84. Урок 84. 00:08:47
    Start to use hooks on our search bar
  85. Урок 85. 00:09:17
    Let's explore a new hook use Ref to compare closure values with current values
  86. Урок 86. 00:03:32
    Using use Effect cleanup to remove our timers
  87. Урок 87. 00:12:06
    Keeping our to-dos safe in local storage using hooks
  88. Урок 88. 00:10:32
    Deleting elements in a multidimensional array
  89. Урок 89. 00:03:31
    Passing props, and re-passing, and passing again... it must have a better way
  90. Урок 90. 00:07:30
    Passing values and functions from one side to another using use Context
  91. Урок 91. 00:01:39
    Refactoring our use Context to its own file
  92. Урок 92. 00:04:31
    Persisting our to-do in local storage
  93. Урок 93. 00:11:20
    Adding a new to-do to local storage
  94. Урок 94. 00:05:06
    Close the modal and cleaning up the fields for a new entry
  95. Урок 95. 00:03:46
    Passing the Edit Function using use Context
  96. Урок 96. 00:04:51
    Editing our list of to-dos
  97. Урок 97. 00:05:22
    Pre-populating the modal before open
  98. Урок 98. 00:17:40
    Re-utilizing the Add modal to Edit
  99. Урок 99. 00:04:59
    Moving an edit to-do from one group to another
  100. Урок 100. 00:06:42
    Implement the duplicate functionality
  101. Урок 101. 00:15:30
    Refactoring to-do management to a massive new custom hook
  102. Урок 102. 00:08:35
    Understand per value and per reference
  103. Урок 103. 00:10:33
    Finally use Reducer
  104. Урок 104. 00:06:21
    From exporting 8 functions and states to export only state and dispatch
  105. Урок 105. 00:12:04
    Refactoring to-dos to a use Reducer hook
  106. Урок 106. 00:10:04
    Using dispatch to change the state
  107. Урок 107. 00:06:20
    Using our new massive new hook
  108. Урок 108. 00:06:49
    Fixing the modal to use state and dispatch
  109. Урок 109. 00:06:24
    Calling functions inside our Reducer
  110. Урок 110. 00:05:14
    The satisfaction of the victory
  111. Урок 111. 00:00:53
    Quick clean up
  112. Урок 112. 00:06:49
    Refactoring the search bar into a custom hook
  113. Урок 113. 00:04:35
    Creating a local storage hook for our to-dos
  114. Урок 114. 00:05:46
    Making our use Local Storage very generic using callback functions
  115. Урок 115. 00:04:53
    Introduction to Drag'n'drop
  116. Урок 116. 00:06:13
    Finding the element we need to delete
  117. Урок 117. 00:04:22
    Dispatching a new action to remove the to-do from the group
  118. Урок 118. 00:06:18
    Removing the element from the local storage and UI... but then...
  119. Урок 119. 00:03:09
    React vs UIkit who will win the DOM manipulation?
  120. Урок 120. 00:05:52
    Finding the correct to-do to add
  121. Урок 121. 00:07:25
    Adding to-do to local storage, but wait
  122. Урок 122. 00:03:51
    Finish our Drag'n'Drop between groups
  123. Урок 123. 00:06:43
    Taking care of the moving event
  124. Урок 124. 00:10:23
    Implementing the move reducer
  125. Урок 125. 00:06:42
    The art of debugging
  126. Урок 126. 00:12:06
    Keep our to-dos safe in local storage using hooks
  127. Урок 127. 00:10:32
    Deleting elements in a multidimensional array
  128. Урок 128. 00:03:31
    Passing props, and re-passing, and passing again... It must have a better way
  129. Урок 129. 00:07:30
    Passing values and functions from one side to another using use Context
  130. Урок 130. 00:01:39
    Refactoring our use Context to its own file
  131. Урок 131. 00:04:31
    Persisting our to-do in local storage
  132. Урок 132. 00:11:20
    Adding a new to-do in local storage
  133. Урок 133. 00:05:06
    Closing the modal and cleaning up the fields for a new entry
  134. Урок 134. 00:03:46
    Passing the Edit function using use Context
  135. Урок 135. 00:04:51
    Editing our list of to-dos
  136. Урок 136. 00:05:22
    Pre populating the modal before open
  137. Урок 137. 00:17:40
    Re-utilizing the Add modal to Edit
  138. Урок 138. 00:04:59
    Moving an edit to-do from one group to another
  139. Урок 139. 00:06:42
    Implementing the duplicate functionality
  140. Урок 140. 00:15:30
    Refactoring to-do management to a massive new custom hook
  141. Урок 141. 00:08:35
    Understand per value and per reference
  142. Урок 142. 00:10:33
    Finally use Reducer
  143. Урок 143. 00:12:04
    Refactoring to-dos to a use Reducer hook
  144. Урок 144. 00:06:21
    From exporting 8 functions and states to export only state and dispatch
  145. Урок 145. 00:06:20
    Using our new massive new hook
  146. Урок 146. 00:10:04
    Using dispatch to change the state
  147. Урок 147. 00:06:49
    Fixing the modal to use state and dispatch
  148. Урок 148. 00:06:24
    Calling functions inside our Reducer
  149. Урок 149. 00:05:14
    The satisfaction of the victory
  150. Урок 150. 00:00:53
    Quick clean up
  151. Урок 151. 00:06:49
    Refactoring the search bar into a custom hook
  152. Урок 152. 00:04:35
    Creating a local storage hook for our to-dos
  153. Урок 153. 00:05:46
    Making our useLocalStorage very generic using callback functions
  154. Урок 154. 00:04:53
    Introduction to Drag'n'Drop
  155. Урок 155. 00:06:13
    Finding the element we need to delete
  156. Урок 156. 00:04:22
    Dispatching a new action to remove the to-do from the group
  157. Урок 157. 00:03:09
    ?Removing the element from the local storage and UI... but then...
  158. Урок 158. 00:03:09
    React vs UIkit who will win with the DOM manipulation?
  159. Урок 159. 00:05:55
    Finding the correct to-do to add
  160. Урок 160. 00:07:25
    Adding to-do to local storage, but wait
  161. Урок 161. 00:03:51
    Finishing our Drag'n'Drop between groups
  162. Урок 162. 00:06:43
    Taking care of the moving event
  163. Урок 163. 00:10:23
    Implementing the move reducer
  164. Урок 164. 00:06:42
    The art of debugging
  165. Урок 165. 00:07:34
    Use Callback, solving some of our warnings with use Callback
  166. Урок 166. 00:06:07
    Code clean up, removing all warnings and using use Callback to do so
  167. Урок 167. 00:01:29
    Installing Axios
  168. Урок 168. 00:07:57
    Using Axios to make a GET request to our endpoint
  169. Урок 169. 00:04:00
    From Deno to our Local Storage
  170. Урок 170. 00:12:51
    Reconstructing our flattened array to a 3 Dimensional array
  171. Урок 171. 00:03:53
    Fixing the new error that happened when you started using the new data
  172. Урок 172. 00:10:49
    Fixing issues with different types of ID's
  173. Урок 173. 00:05:37
    More use Callback, it is like someone called it back again (got it?)
  174. Урок 174. 00:07:48
    Creating a useReact Middleware httpDispatchMiddlware
  175. Урок 175. 00:06:19
    Enriching the delete todo dispatch payload
  176. Урок 176. 00:03:53
    Removing unnecessary data from the duplicate todo before post it
  177. Урок 177. 00:06:35
    Our first post to our Deno API
  178. Урок 178. 00:05:53
    Adding the new Todo in local storage as well
  179. Урок 179. 00:03:00
    Understanding NGINX
  180. Урок 180. 00:05:29
    Creating the NGINX container
  181. Урок 181. 00:04:53
    Proxying the react app using NGINX
  182. Урок 182. 00:02:14
    Proxying the requests to the Backend using NGINX
  183. Урок 183. 00:01:27
    Fixing the frontend requests to the backend
  184. Урок 184. 00:03:34
    Removing external connections and CORS to make our application safer
  185. Урок 185. 00:02:52
    Configuring VSCode Prettier
  186. Урок 186. 00:04:21
    Emmet and speed up coding
  187. Урок 187. 00:01:45
    Add extension tools for chrome
  188. Урок 188. 00:01:11
    Installing Docker Extension
  189. Урок 189. 00:02:18
    Connecting to MongoDB inside Docker using Compass
  190. Урок 190. 00:02:08
    Using MongoDB Compass - Update, Delete, Clone, Drop Collections and Databases
  191. Урок 191. 00:01:34
    Installing Brew on Mac
  192. Урок 192. 00:02:27
    Installing Docker
  193. Урок 193. 00:04:41
    Installing Deno and Denon on Mac
  194. Урок 194. 00:04:11
    Installing Node, Chrome, VSCode, Yarn
  195. Урок 195. 00:01:36
    MongoDB Compass
  196. Урок 196. 00:01:32
    Install Postman
  197. Урок 197. 00:10:57
    Installing VSCode modules
  198. Урок 198. 00:02:02
    Installing Docker
  199. Урок 199. 00:01:48
    Installing Hyper-V for Docker (optional)
  200. Урок 200. 00:01:36
    Installing Linux Kernel Update Package (WSL 2) on windows for Docker (optional)
  201. Урок 201. 00:03:45
    Installing Node
  202. Урок 202. 00:01:53
    Installing Visual Code Insiders
  203. Урок 203. 00:01:18
    Installing Postman
  204. Урок 204. 00:01:51
    Installing Compass
  205. Урок 205. 00:00:56
    Installing Chrome Canary