Python API Development - Comprehensive Course for Beginners

Python API Development - Comprehensive Course for Beginners

freeCodeCamp.org via freeCodeCamp Direct link

What is a database migration tool

90 of 157

90 of 157

What is a database migration tool

Class Central Classrooms beta

YouTube videos curated by Class Central.

Classroom Contents

Python API Development - Comprehensive Course for Beginners

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Intro
  2. 2 Project Overview
  3. 3 Mac Python Installation
  4. 4 Mac VS Code install and setup
  5. 5 Windows Python Installation
  6. 6 Windows VS Code install and setup
  7. 7 Python virtual Env Basics
  8. 8 Virtual Env on windows
  9. 9 Virtual Env on Mac
  10. 10 Install dependencies w/ pip
  11. 11 Starting FastAPI
  12. 12 Path Operations
  13. 13 Intro toman
  14. 14 HTTP Requests
  15. 15 Schema Validation with Pydantic
  16. 16 CRUD Operations
  17. 17 Storing in Array
  18. 18 Creating
  19. 19 Postman Collections & saving requests
  20. 20 Retrieve One
  21. 21 Path order Matters
  22. 22 Changing response Status Codes
  23. 23 Deleting
  24. 24 Updating
  25. 25 Automatic Documentation
  26. 26 Python packages
  27. 27 Database Intro
  28. 28 Postgres Windows Install
  29. 29 Postgres Mac Install
  30. 30 Database Schema & Tables
  31. 31 Managing Postgres with PgAdmin GUI
  32. 32 Your first SQL Query
  33. 33 Filter results with "where"
  34. 34 SQL Operators
  35. 35 IN
  36. 36 Pattern matching with LIKE
  37. 37 Ordering Results
  38. 38 LIMIT & OFFSET
  39. 39 Modifying Data
  40. 40 Setup App Database
  41. 41 Connecting to database w/ Python
  42. 42 Database CRUD
  43. 43 ORM intro
  44. 44 SQLALCHEMY setup
  45. 45 Adding CreatedAt Column
  46. 46 Get All
  47. 47 Create
  48. 48 Get by ID
  49. 49 Delete
  50. 50 Update
  51. 51 Pydantic vs ORM Models
  52. 52 Pydantic Models Deep Dive
  53. 53 Response Model
  54. 54 Creating Users Table
  55. 55 User Registration Path Operation
  56. 56 Hashing Passwords
  57. 57 Refractor Hashing Logic
  58. 58 Get User by ID
  59. 59 FastAPI Routers
  60. 60 Router Prefix
  61. 61 Router Tags
  62. 62 JWT Token Basics
  63. 63 Login Process
  64. 64 Creating Token
  65. 65 OAuth2 PasswordRequestForm
  66. 66 Verify user is Logged In
  67. 67 Fixing Bugs
  68. 68 Protecting Routes
  69. 69 Test Expired Token
  70. 70 Fetching User in Protected Routes
  71. 71 Postman advanced Features
  72. 72 SQL Relationship Basics
  73. 73 Postgres Foreign Keys
  74. 74 SQLAlchemy Foreign Keys
  75. 75 Update Schema to include User
  76. 76 Assigning Owner id when creating new
  77. 77 Delete and Update only your own
  78. 78 Only Retrieving Logged in User's
  79. 79 Sqlalchemy Relationships
  80. 80 Query Parameters
  81. 81 Cleanup our main.py file
  82. 82 Env Variables
  83. 83 Vote/Like Theory
  84. 84 Votes Table
  85. 85 Votes Sqlalchemy
  86. 86 Votes Route
  87. 87 SQL Joins
  88. 88 Joins in SqlAlchemy
  89. 89 Get One with Joins
  90. 90 What is a database migration tool
  91. 91 Alembic Setup
  92. 92 Disable SqlAlchemy create Engine
  93. 93 What is CORS?
  94. 94 Git PreReqs
  95. 95 Git Install
  96. 96 Github
  97. 97 Heroku intro
  98. 98 Create Heroku App
  99. 99 Heroku procfile
  100. 100 Adding a Postgres database
  101. 101 Env Variables in Heroku
  102. 102 Alembic migrations on Heroku Postgres instance
  103. 103 Pushing changed to production
  104. 104 Create an Ubuntu VM
  105. 105 Update packages
  106. 106 Install Python
  107. 107 Install Postgres & setup password
  108. 108 Postgres Config
  109. 109 Create new user and setup python evironment
  110. 110 Env Variables
  111. 111 Alembic migrations on production database
  112. 112 Gunicorn
  113. 113 Creating a Systemd service
  114. 114 NGINX
  115. 115 Setting up Domain name
  116. 116 SSL/HTTPS
  117. 117 NGINX enable
  118. 118 Firewall
  119. 119 Pushing code changes to Production
  120. 120 Dockerfile
  121. 121 Docker Compose
  122. 122 Postgres Container
  123. 123 Bind Mounts
  124. 124 Dockerhub
  125. 125 Production vs Development
  126. 126 Testing Intro
  127. 127 Writing your first test
  128. 128 The -s & -v flags
  129. 129 Testing more functions
  130. 130 Parametrize
  131. 131 Testing Classes
  132. 132 Fixtures
  133. 133 Combining Fixtures + Parametrize
  134. 134 Testing Exceptions
  135. 135 FastAPI TestClient
  136. 136 Pytest flags
  137. 137 Test create user
  138. 138 Setup testing database
  139. 139 Create & destroy database after each test
  140. 140 More Fixtures to handle database interaction
  141. 141 Trailing slashes in path
  142. 142 Fixture scope
  143. 143 Test user fixture
  144. 144 Test/validate token
  145. 145 Conftest.py
  146. 146 Testing
  147. 147 CI/CD intro
  148. 148 Github Actions
  149. 149 Creating Jobs
  150. 150 setup python/dependencies/pytest
  151. 151 Env variables
  152. 152 Github Secrets
  153. 153 Testing database
  154. 154 Building Docker images
  155. 155 Deploy to heroku
  156. 156 Failing tests in pipeline
  157. 157 Deploy to Ubuntu

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.