-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvideo_index.txt
More file actions
417 lines (193 loc) · 6.5 KB
/
video_index.txt
File metadata and controls
417 lines (193 loc) · 6.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
### Section 1: Introduction
1. Course Project
2. Course Intro
3. Course Project Overview 06:33
### Section 2: Setup & installation
4. Mac Python Installation 11:22
5. Mac VS Code install and setup 13:15
6. Windows Python Installation 16:37
7. Windows VS Code install and setup 18:30
8. Python virtual environment Basics 22:11
9. Virtual environment on windows 24:35
10. Virtual environment on Mac 28:56
### Section 3: FastAPI
11. Install dependencies w/ pip 34:17
12. Starting Fast API 36:21
13. Path operations 39:23
14. Path Operation Order(yes it matters) 51:08
15. Intro to Postman 53:22
16. HTTP Post Requests 57:34
17. Schema Validation with Pydantic 1:07:29
18. CRUD Operations 1:22:45
19. storing posts in Array 1:29:44
20. creating posts 1:34:06
21. Postman Collections & saving requests 1:38:15
22. Retrieve One Post 1:39:47
23. Path order Matters 1:48:10
24. Changing response Status Codes 1:52:46
25. Deleting Posts 2:01:49
26. Updating Posts 2:10:31
27. Automatic Documentation 2:18:02
28. Python packages 2:21:34
### Section 4: Databases
29. Database Intro 2:24:11
30. Postgres Windows Install 2:28:54
31. Postgres Mac Install 2:31:28
32. Database Schema & Tables 2:34:26
33. Managing Postgres with PgAdmin GUI 2:44:35
34. Your first SQL Query 3:12:10
35. Filter results with "where" keyword 3:19:43
36. SQL Operators 3:22:55
37. IN Keyword 3:26:38
38. Pattern matching with LIKE keyword 3:28:07
39. Ordering Results 3:31:59
40. LIMIT & OFFSET 3:36:27
41. Inserting Data 3:39:21
42. Deleting Data 3:47:16
43. Updating Data 3:50:11
### Section 5: Python + Raw SQL
44. Setup App Database 3:53:48
45. Connecting to database w/ Python 3:58:21
46. Retrieving Posts 4:08:00
47. Creating Post 4:11:53
48. Get One Post 4:19:18
49. Delete Post 4:24:12
50. Update Post 4:26:31
### Section 6: ORMs
51. ORM intro 4:31:18
52. SQLALCHEMY setup 4:35:33
53. Adding CreatedAt Column 4:55:25
54. Get All Posts 5:00:59
55. Create Posts 5:07:55
56. Get Post by ID 5:15:50
57. Delete Post 5:19:50
58. Update Post 5:22:31
### Section 7: Pydantic Models
59. Pydantic vs ORM Models 5:28:21
60. Pydantic Models Deep Dive 5:32:21
61. Response Model 5:38:57
### Section 8: Authentication & Users
62. Creating Users Table 5:50:08
63. User Registration Path Operation 5:54:50
64. Hashing User Passwords 6:03:27
65. Refractor Hashing Logic 6:08:49
66. Get User by ID 6:10:32
67. FastAPI Routers 6:17:13
68. Router Prefix 6:27:34
69. Router Tags 6:30:31
70. JWT Token Basics 6:32:49
71. Login Process 6:47:03
72. Creating a Token 7:00:44
73. OAuth2 PasswordRequestForm 7:09:58
74. Verify user is Logged In 7:13:23
75. Fixing Bugs 7:25:21
76. Protecting Routes 7:27:59
77. Test Expired Token 7:36:17
78. Fetching User in Protected Routes 7:38:13
79. Postman advanced Features 7:42:44
### Section 9: Relationships
80. SQL Relationship Basics 7:50:33
81. Postgres Foreign Keys 7:54:59
82. SQLAlchemy Foreign Keys 8:07:20
83. Update Post Schema to include User 8:13:40
84. Assigning Owner id when creating new post 8:17:59
85. Delete and Update only your own posts 8:21:01
86. Only Retrieving Logged in User's posts 8:27:48
87. Sqlalchemy Relationships 8:33:37
88. Query Parameters 8:38:32
89. Cleanup our main.py file 8:50:46
90. Environment Variables 8:53:53
### Section 10: Vote/Like System
91. Vote/Like Theory 9:21:20
92. Votes Table 9:26:36
93. Votes Sqlalchemy 9:31:33
94. Votes Route 9:34:11
95. SQL Joins 9:52:31
96. Joins in SqlAlchemy 10:15:26
97. Get One Post with Joins 10:28:21
### Section 11: Database Migration w/ Alembic
98. What is a database migration tool 10:30:18
99. Alembic Setup 10:33:45
100. Alembic First Revision
101. Alembic Rollback database Schema
102. Alembic finishing up the rest of the schema
103. Disable SqlAlchemy create Engine 11:13:50
### Section 12: Pre Deployment Checklist
104. What is CORS????? 11:14:28
105. Git PreReqs 11:23:38
106. Git Install 11:27:40
107. Github 11:29:23
### Section 13: Deployment Heroku
108. Heroku intro 11:34:39
109. Create Heroku App 11:35:40
110. Heroku procfile 11:40:21
111. Adding a Postgres database 11:44:59
112. Environment Variables in Heroku 11:48:42
113. Alembic migrations on Heroku Postgres instance 11:58:59
114. Pushing changed to production 12:02:52
### Section 14: Deployment Ubuntu
115. Create an Ubuntu VM 12:05:04
116. Update packages 12:08:04
117. Install Python 12:10:47
118. Install Postgres & setup password 12:12:21
119. Postgres Config 12:17:28
120. Create new user and setup python environment 12:24:50
121. Environment Variables 12:34:06
122. Alembic migrations on production database 12:42:24
123. Gunicorn 12:45:57
124. Creating a Systemd service 12:54:12
125. NGINX 13:04:45
126. Setting up Domain name 13:10:45
127. SSL/HTTPS 13:15:19
128. NGINX enable 13:19:31
129. Firewall 13:20:06
130. Pushing code changes to Production 13:23:47
### Section 15: Docker
131. Dockerfile 13:26:09
132. Docker Compose 13:38:39
133. Postgres Container 13:48:34
134. Bind Mounts 13:56:22
135. Dockerhub 14:03:39
136. Production vs Development 14:08:08
### Section 16: Testing
137. Testing Intro 14:14:51
138. Writing your first test 14:17:19
139. The -s & -v flags 14:30:22
140. Testing more functions 14:31:44
141. Parametrize 14:35:29
142. Testing Classes 14:40:21
143. Fixtures 14:48:37
144. Combining Fixtures + Parametrize 14:55:40
145. Testing Exceptions 14:59:13
146. FastAPI TestClient 15:06:07
147. Pytest flags 15:14:26
148. Test create user 15:17:31
149. Setup testing database 15:25:23
150. Create & destroy database after each test 15:36:47
151. More Fixtures to handle database interaction 15:44:18
152. Trailing slashes in path 15:50:35
153. Fixture scope 15:53:12
154. Test user fixture 16:07:50
155. Test/validate token 16:14:40
156. Conftest.py 16:18:59
157. Failed login test 16:22:09
158. Get all posts test 16:28:28
159. Posts fixture to create test posts 16:29:34
160. Unauthorized Get Posts test 16:51:33
161. Get one post test 16:55:16
162. Create post test 16:59:19
163. Delete post test 17:08:05
164. Update post 17:15:17
165. Voting tests 17:22:09
### Section 17: CI/CD pipeline
166. CI/CD intro 17:34:15
167. Github Actions 17:43:29
168. Creating Jobs 17:49:32
169. Setup python/dependencies/pytest 17:57:38
170. Environment variables 18:06:14
171. Github Secrets 18:11:19
172. Testing database 18:18:14
173. Building Docker images 18:23:42
174. Deploy to Heroku 18:34:33
175. Failing tests in pipeline 18:49:10
176. Deploy to Ubuntu 18:52:18