Introduction
Python Setup
FastAPI Basics
- Initialize Fastapi Projects
- Path Operations
- Setting Up Postman
- Post Requests
- Schema Validation Pydantic
- Crud Basics Best Practices
- Create Posts
- Postman Saving Posts Collections
- Get One Post By Id
- Path Order Matters
- Change Status Codes
- Deleting Posts
- Updating Posts
- Auto Docs
- Adding Src Directory
Working with Databases
- Database Intro
- Database Windows Install
- Database Mac
- Database Schema And Tables
- Pgadmin Ui
- First Sql Query
- Filter With Where
- Sql Operators
- Sql In Operator
- Sql Pattern Matching Like Keyword
- Sql Ordering Results
- Limit Offset
- Inserting Data
- Deleting Data
- Updating Data
Databases with Python
- Setup App Database
- Connect To Database Python
- Sql Retrieve Posts
- Create Posts Sql
- Fetch Post By Id Sql
- Delete Posts Sql
- Update Posts
- Orm Intro
- Sqlalchemy Setup
- Sqlalchemy Created At Table
- Sqlalchemy Get All Posts
- Create Post Sqlalchemy
- Get Post By Id Sqlalchemy
- Sqlalchemy Delete Posts
- Sqlalchemy Update Posts
Advanced FastAPI
- Pydantic Sqlalchemy Models
- Pydantic Models Deep Dive
- Pydantic Response Model
- Creating User Table
- User Registration Path Operation
- Hashing User Password
- Get User By Id
- Fastapi Routers
- Router Prefix And Tags
- Jwt Token Basics
- Login Process Flow
- Creating A Token
- OAuth2 Password Request Form
- Verify User Is Logged In
- Protecting Routes
- Testing Expired Token
- Fetching User In Protected Route
- Advanced Postman Features
- Sql Relationship Basics
- Postgres Foreign Keys Configuring
- Sqlalchemy Foreign Keys
- Update Post Schema To Include User
- Assigning Owner Id When Creating New Post
- Delete Update Only Your Own Posts
- Retrieve Only Your Own Posts
- Sqlalchemy Relationships
- Query Parameters
- Cleanup Main Py File
- Environment Variables
- Vote Like Theory
- Creating Votes Table Pgadmin
- Votes With Sqlalchemy
- Votes Route
- Sql Joins
- Joins Sqlalchemy
- Get One Post Join
Database Migration
- What Is Db Migration Tool
- Alembic Setup
- First Revision
- Rollback Alembic
- Alembic Finish Rest Of Schema
Deployment
Testing
- Testing Intro
- Writing First Test
- Testing Flags
- Testing More Functions
- Parametrize
- Testing Classes
- Fixtures
- Testing Exceptions
- Fastapi Testclient
- Pytest Flags
- Create User Test
- Setup Test Database
- Create Destroy Database After Each Test
- Setup Test Database With Fixtures
- Trailing Slashes In Path
- Fixture Scope
- Test User Fixture
- Validate Token
- Conftest Py File
- Failed Login Test
- Get All Posts Test
- Posts Fixture Create Test Posts
- Unauthorized Get Posts
- Get One Post Test
- Test Create Post
- Delete Post
- Update Post Test
- Test Voting