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