
Intermediate Backend Development with FastAPI Course
Take your Python backend skills to the next level with a comprehensive FastAPI course built for working developers. Master async APIs, database integration, authentication, testing, and production deployment through hands-on projects. Every concept maps directly to real-world backend engineering challenges you'll face on the job.
What you will learn:
Configure async SQLAlchemy with FastAPI's dependency injection for reliable database operations.
Build modular, maintainable APIs using APIRouter, middleware, and Pydantic v2 data models.
Implement secure JWT authentication flows with refresh tokens and role-based access control.
Write unit, integration, and end-to-end tests using pytest, TestClient, and async test patterns.
Optimize API performance with Redis caching, background tasks, and database query tuning.
Deploy production-ready FastAPI services with Docker, structured logging, and OpenAPI documentation.
How you study in practice Intermediate Backend Development with FastAPI Course
How you practice Intermediate Backend Development with FastAPI Course
For companies looking to train their teams
With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.
Course Content
8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsFastAPI Foundations and Project Setup
FastAPI Foundations and Project Setup
Lesson 1 • Path and Query Parameters
Teaches extraction and validation of path and query parameters using Python type hints. Demonstrates automatic OpenAPI documentation generation.
Lesson 2 • First Complete API Endpoint
Integrates all foundational concepts into a single working endpoint with validation and documentation. Serves as a checkpoint before advancing to data modeling.
Lesson 3 • Core Request-Response Cycle
Explains how FastAPI processes HTTP requests through path operations and returns responses. Connects ASGI concepts to practical route definitions.
Lesson 4 • Installing and Configuring FastAPI
Sets up a virtual environment, installs FastAPI and Uvicorn, and verifies the installation. Provides the baseline environment for all subsequent chapters.
Lesson 5 • Python Async Fundamentals for FastAPI
Covers async/await syntax, event loops, and coroutines as prerequisites for FastAPI. Establishes the async mental model used throughout the course.
Chapter 2HideHide detailsSee detailsData Modeling with Pydantic
Data Modeling with Pydantic
Lesson 1 • Nested Models and Complex Types
Builds hierarchical data structures using nested models, lists, and dicts. Prepares students for real-world payloads with complex shapes.
Lesson 2 • Pydantic Settings and Configuration
Uses pydantic-settings to manage environment variables and app configuration. Establishes a config pattern reused in database and security chapters.
Lesson 3 • Field Constraints and Validators
Applies Field() constraints and custom validators to enforce business rules. Demonstrates how validators integrate with FastAPI request bodies.
Lesson 4 • Pydantic BaseModel Essentials
Introduces BaseModel, field declarations, and automatic validation. Connects Pydantic's role to FastAPI's request parsing pipeline.
Lesson 5 • Request and Response Schema Separation
Separates input schemas from output schemas to control data exposure. Teaches response_model and model inheritance patterns.
Chapter 3HideHide detailsSee detailsRouting, Middleware, and App Structure
Routing, Middleware, and App Structure
Lesson 1 • Middleware Concepts and Custom Middleware
Teaches request/response middleware for cross-cutting concerns like logging and timing. Connects middleware to FastAPI's ASGI stack.
Lesson 2 • APIRouter for Modular Routing
Splits routes into domain-specific routers and mounts them on the main app. Reduces coupling and improves code discoverability.
Lesson 3 • CORS and Trusted Host Configuration
Configures CORS and trusted host policies to secure browser-facing APIs. Demonstrates environment-specific policy settings.
Lesson 4 • Application Lifespan and Startup Events
Uses the lifespan context manager to initialize and tear down resources cleanly. Prepares students for database connection pooling in later chapters.
Lesson 5 • Dependency Injection System
Explains FastAPI's Depends() mechanism for sharing logic across routes. Covers dependency chaining and scoped resource management.
Chapter 4HideHide detailsSee detailsDatabase Integration with SQLAlchemy
Database Integration with SQLAlchemy
Lesson 1 • CRUD Operations with Async ORM
Implements create, read, update, and delete operations using async SQLAlchemy queries. Demonstrates repository pattern for clean separation of concerns.
Lesson 2 • Pagination and Filtering Patterns
Implements offset/cursor pagination and dynamic filtering for list endpoints. Connects query parameter models to SQLAlchemy query construction.
Lesson 3 • Database Migrations with Alembic
Manages schema evolution using Alembic migration scripts. Covers auto-generation, manual edits, and rollback strategies.
Lesson 4 • Defining ORM Models
Maps Python classes to database tables using SQLAlchemy's declarative syntax. Covers column types, constraints, and relationships.
Lesson 5 • Async SQLAlchemy Setup
Configures an async engine, session factory, and base model for SQLAlchemy. Integrates the session lifecycle with FastAPI's dependency system.
Chapter 5HideHide detailsSee detailsAuthentication and Authorization
Authentication and Authorization
Lesson 1 • JWT Token Generation and Validation
Creates and verifies JSON Web Tokens for stateless authentication. Covers token payload design, expiry, and signature verification.
Lesson 2 • Role-Based Access Control
Adds user roles and permission checks as reusable dependencies. Demonstrates how to enforce access policies without duplicating logic.
Lesson 3 • Password Hashing and User Registration
Hashes passwords with bcrypt and stores user credentials securely. Establishes the user model and registration endpoint used throughout this chapter.
Lesson 4 • OAuth2 Password Flow in FastAPI
Implements the OAuth2 password bearer flow using FastAPI's built-in security utilities. Connects token issuance to the login endpoint.
Lesson 5 • Refresh Tokens and Secure Token Storage
Implements refresh token rotation and discusses secure client-side storage strategies. Addresses common token theft and replay attack vectors.
Chapter 6HideHide detailsSee detailsTesting FastAPI Applications
Testing FastAPI Applications
Lesson 1 • Database Testing with Transactions
Runs integration tests against a real database using transaction rollback for isolation. Ensures tests are repeatable without manual cleanup.
Lesson 2 • Mocking Dependencies and External Services
Overrides dependencies and mocks external calls to isolate unit tests. Prevents test pollution from databases and third-party APIs.
Lesson 3 • Testing Endpoints with TestClient
Uses FastAPI's TestClient to send HTTP requests and assert responses. Covers status codes, response bodies, and header assertions.
Lesson 4 • Pytest Setup for FastAPI
Configures pytest with fixtures, conftest files, and async support for FastAPI. Establishes the test infrastructure used in all subsequent test sections.
Lesson 5 • Test Coverage and Quality Metrics
Measures test coverage with pytest-cov and identifies untested code paths. Introduces mutation testing concepts for assessing test quality.
Chapter 7HideHide detailsSee detailsBackground Tasks, Caching, and Performance
Background Tasks, Caching, and Performance
Lesson 1 • Response Caching with Redis
Implements response caching using Redis to reduce database load on hot endpoints. Covers cache invalidation strategies and TTL management.
Lesson 2 • Database Query Optimization
Identifies and resolves N+1 query problems and slow queries in SQLAlchemy. Applies eager loading and query analysis to improve response times.
Lesson 3 • Integrating Celery for Async Task Queues
Connects FastAPI to Celery with a message broker for durable background processing. Covers task definition, dispatch, and result retrieval.
Lesson 4 • FastAPI Background Tasks
Offloads non-blocking work using FastAPI's BackgroundTasks. Covers use cases, limitations, and comparison with task queues.
Lesson 5 • Profiling and Load Testing APIs
Profiles endpoint latency and runs load tests to find performance bottlenecks. Connects profiling results to targeted optimization decisions.
Chapter 8HideHide detailsSee detailsAPI Design, Versioning, and Production Deployment
API Design, Versioning, and Production Deployment
Lesson 1 • REST API Design Best Practices
Applies resource naming, HTTP semantics, and idempotency principles to API design. Produces consistent, intuitive APIs that follow industry conventions.
Lesson 2 • Containerization and Deployment
Packages the FastAPI app in a Docker container and deploys it with Gunicorn and Uvicorn workers. Covers health checks and graceful shutdown.
Lesson 3 • API Versioning Strategies
Compares URL path, header, and query-param versioning approaches. Implements a versioned router structure that supports parallel API versions.
Lesson 4 • OpenAPI Customization and Documentation
Customizes the auto-generated OpenAPI schema with metadata, examples, and tags. Produces developer-friendly documentation for API consumers.
Lesson 5 • Observability: Logging, Metrics, and Tracing
Adds structured logging, Prometheus metrics, and distributed tracing to the API. Enables operators to diagnose issues in production environments.
Your valid completion certificate
This course is for you:
Junior Python developer: ready to move beyond tutorials into real project structure.
Django or Flask developer: curious whether FastAPI fits modern async workloads better.
Data scientist: needs to expose models through reliable, maintainable API endpoints.
Bootcamp graduate: has foundational skills but lacks backend architecture depth.
Freelance developer: wants to deliver more robust, secure backends to paying clients.
Career changer from QA or DevOps: building coding skills to shift into backend roles.
What our students say
Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of interest without needing to switch platforms... I thank you for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can switch chapters and skip content I don't need.

I like the content and the presentation style and video transcription, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.

Top trainings
FAQ
Who is Dedika?
Is the certificate valid in United States?
Are the courses free?
What is the course workload?
What are the courses like?
How do the courses work?
What is the duration of the courses?
What is the cost or price of the courses?
What is an EAD or online course and how does it work?
PDF Course




















