| 1 | Project demo | 06:16 |
| 2 | Project demo (dashboard) | 12:33 |
| 3 | Are you ready for this course? | 02:57 |
| 4 | Code editor | 04:43 |
| 5 | Using live demo as a guide | 04:45 |
| 6 | Initialize a project using npm | 06:44 |
| 7 | React NextJs project setup | 07:53 |
| 8 | Ant design and custom app component | 11:05 |
| 9 | Trying ant component | 06:23 |
| 10 | Global context (theory) | 06:36 |
| 11 | React hooks | 11:41 |
| 12 | Accessing context | 12:51 |
| 13 | Toggle theme context | 12:18 |
| 14 | Static folder for storing CSS files | 05:52 |
| 15 | Menu component | 12:03 |
| 16 | Next link to navigate between components | 13:14 |
| 17 | Layout component | 13:55 |
| 18 | Class to functional component (sidebar) | 10:28 |
| 19 | Admin menu | 15:22 |
| 20 | Menu icons | 08:37 |
| 21 | Set current url | 13:10 |
| 22 | Set active link | 11:20 |
| 23 | Auto collapse menu based on window width | 10:02 |
| 24 | Ant design form (theory) | 10:13 |
| 25 | Understanding grid and columns | 05:00 |
| 26 | Signup form | 13:18 |
| 27 | Signin form | 05:24 |
| 28 | Generate auth server | 09:18 |
| 29 | Understanding server and GET request | 11:49 |
| 30 | Understanding server and POST request | 07:06 |
| 31 | Signup to mongo atlas | 12:34 |
| 32 | Signup to sendgrid | 08:27 |
| 33 | Axios POST request and debugging | 16:24 |
| 34 | Save user in database | 13:27 |
| 35 | Toast notifications and loading | 14:20 |
| 36 | Auth context | 16:20 |
| 37 | Using context and local storage | 14:30 |
| 38 | Env file and axios configuration | 10:48 |
| 39 | Signin backend | 11:33 |
| 40 | Signin frontend | 07:37 |
| 41 | Signout | 10:59 |
| 42 | Conditional rendering and reset fields | 13:01 |
| 43 | How forgot password works (theory) | 04:19 |
| 44 | Forgot password request | 11:01 |
| 45 | Forgot password resposne | 09:37 |
| 46 | Implement reset password | 12:11 |
| 47 | Trying reset password | 05:51 |
| 48 | Admin categories page | 07:36 |
| 49 | Category create form | 11:06 |
| 50 | Category schema | 11:32 |
| 51 | Category route and controller function | 14:00 |
| 52 | Middleware explained | 07:05 |
| 53 | Request headers | 09:59 |
| 54 | Require signin middleware | 12:58 |
| 55 | Create category | 07:31 |
| 56 | Is admin middleware | 12:47 |
| 57 | Role based redirect | 12:53 |
| 58 | Protecting admin pages | 09:13 |
| 59 | Loading state | 08:50 |
| 60 | Current admin endpoint | 16:46 |
| 61 | Protecting page based on server response | 10:38 |
| 62 | Categories list server | 09:41 |
| 63 | List of categories client | 10:32 |
| 64 | Ant columns layout | 09:33 |
| 65 | Delete category | 09:39 |
| 66 | Update category server | 06:42 |
| 67 | Using modal component | 09:06 |
| 68 | Updating category on modal | 13:47 |
| 69 | Complete category update | 09:39 |
| 70 | Editor preview and posts page | 13:52 |
| 71 | Installing rich markdown editor | 09:05 |
| 72 | Styling editor | 15:08 |
| 73 | Post title and content in local storage | 15:52 |
| 74 | Load categories | 06:24 |
| 75 | Multiple select | 07:42 |
| 76 | Rich text editor upload image | 04:15 |
| 77 | React image resize and resolve editor issues | 15:34 |
| 78 | Using cloudinary | 09:38 |
| 79 | Uploading image | 14:27 |
| 80 | Post preview | 13:59 |
| 81 | Handle publish | 08:10 |
| 82 | Post route and schema | 10:11 |
| 83 | Save post in database | 15:47 |
| 84 | All posts server | 07:03 |
| 85 | Creating posts | 12:27 |
| 86 | List posts client | 14:30 |
| 87 | Why we need post context (theory) | 05:03 |
| 88 | Lifting state of posts | 11:37 |
| 89 | Lifting state of categories | 10:56 |
| 90 | WordPress inspired media library | 04:40 |
| 91 | Featured image modal | 08:21 |
| 92 | Media components | 08:08 |
| 93 | Upload component | 09:39 |
| 94 | Sending image as formdata | 12:48 |
| 95 | Save media in database | 12:35 |
| 96 | Drag and drop multiple images | 12:52 |
| 97 | Media context | 13:03 |
| 98 | Uploaded image preview | 08:28 |
| 99 | Create post with featured image | 08:16 |
| 100 | Media endpoints | 06:28 |
| 101 | Fetch media | 04:29 |
| 102 | Select from media library | 09:11 |
| 103 | Remove media | 09:56 |
| 104 | SEO in react apps and nextjs apps | 09:01 |
| 105 | Load all posts | 10:48 |
| 106 | Display posts | 13:17 |
| 107 | Single post page | 11:34 |
| 108 | Post image and meta content | 14:26 |
| 109 | Scrolling post view and responsive layout | 08:24 |
| 110 | Delete post | 07:16 |
| 111 | Post edit page | 16:19 |
| 112 | Pre populate post for edit | 15:18 |
| 113 | Post edit request client | 07:14 |
| 114 | Post edit server | 10:53 |
| 115 | Admin media upload | 12:40 |
| 116 | Admin media library | 03:45 |
| 117 | Create user by admin | 12:50 |
| 118 | Password generator select and checkbox | 12:48 |
| 119 | Create user by admin server | 15:49 |
| 120 | Send account info by email | 12:26 |
| 121 | Code refactoring new post | 10:33 |
| 122 | Code refactoring post list | 06:25 |
| 123 | Is admin middleware | 05:11 |
| 124 | Author nav and layout | 11:51 |
| 125 | Author post create page | 05:12 |
| 126 | Can create read update delete middleware | 17:26 |
| 127 | Apply new middleware | 08:58 |
| 128 | Author posts | 14:15 |
| 129 | Author post edit | 09:35 |
| 130 | Author media management | 18:03 |
| 131 | Subscriber nav layout and pages | 12:08 |
| 132 | Users page for admin | 08:19 |
| 133 | Users list for admin | 16:57 |
| 134 | Users list with number of posts | 12:38 |
| 135 | Delete user by admin | 08:36 |
| 136 | User update page for admin | 14:33 |
| 137 | User update form fields and media | 14:37 |
| 138 | Update user by admin | 17:52 |
| 139 | User image preview | 10:55 |
| 140 | Profile page | 13:07 |
| 141 | Author and subscriber profile page | 10:19 |
| 142 | Updating own profile based on roles | 17:34 |
| 143 | Post count and pagination server | 10:36 |
| 144 | Load more posts | 17:47 |
| 145 | All posts for admin | 09:55 |
| 146 | Searching and filtering | 08:29 |
| 147 | Creating comment server | 09:16 |
| 148 | Post comment form | 07:13 |
| 149 | Posting comment client | 15:37 |
| 150 | Populating post comments | 15:37 |
| 151 | Render list of comments | 08:19 |
| 152 | Can update delete comments server | 13:09 |
| 153 | Comments CRUD controller functions | 10:29 |
| 154 | Admin comments page | 10:55 |
| 155 | Rendering comments for admin | 10:45 |
| 156 | Load more comments | 10:58 |
| 157 | Comments description view and delete | 10:16 |
| 158 | Comments delete by admin | 04:05 |
| 159 | Comments page for users | 06:08 |
| 160 | Comment edit modal | 14:05 |
| 161 | Comment update | 14:00 |
| 162 | Contact page | 16:19 |
| 163 | Contact form submit | 05:06 |
| 164 | Send contact form email | 16:22 |
| 165 | Share post to social networks | 09:02 |
| 166 | Documents statistics server | 05:21 |
| 167 | Admin index page to display statistics | 08:13 |
| 168 | Numbers counter with progress | 12:44 |
| 169 | Custom hook useCategory | 11:33 |
| 170 | Custom hook useLatestPosts | 05:03 |
| 171 | Posts by category server | 06:41 |
| 172 | Posts by category page | 11:40 |
| 173 | List of posts based on category | 11:46 |
| 174 | Full width image | 11:09 |
| 175 | Loading to redirect | 06:44 |
| 176 | Text on top of full width image | 07:31 |
| 177 | Stats counter on home page | 09:29 |
| 178 | Latest posts in home page | 08:05 |
| 179 | Parallax image | 09:36 |
| 180 | Categories list in home page | 07:09 |
| 181 | Footer | 07:25 |
| 182 | Customize page | 10:10 |
| 183 | Customize home page from dashboard | 10:04 |
| 184 | Page create and fetch server | 13:45 |
| 185 | Customize home page | 14:33 |
| 186 | Custom hook useHome | 06:49 |
| 187 | Deployment overview | 03:32 |
| 188 | Digital ocean setup | 05:46 |
| 189 | SSH access | 08:56 |
| 190 | Push code to github | 05:37 |
| 191 | Installing NodeJs NGINX and git clone | 13:18 |
| 192 | Installing MongoDB and commit changes | 15:49 |
| 193 | Running frontend | 04:59 |
| 194 | Trying signup | 04:09 |
| 195 | Performing actions in dashboard | 12:03 |
| 196 | Final thoughts | 02:16 |