Choose your language
Intermediate Backend Development with FastAPI Course
More than 2 million students worldwide

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.

Dedika for businesses

What you'll 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.

  • Optimise 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 practise Intermediate Backend Development with FastAPI Course

For businesses looking to train their team

With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.

Click here

Course content

8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

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 modelling.

  • 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 2See details

Data Modelling 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 3See details

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 initialise 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 4See details

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 5See details

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 6See details

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 7See details

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 Optimisation

    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 optimisation decisions.

Chapter 8See details

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 • Containerisation 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 Customisation and Documentation

    Customises 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.

Certification

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 lessons are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of interest without needing to change platforms... I'm grateful for everything you do, I've already recommended you to other people...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the way videos are presented and transcribed, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast and simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

Top upskilling courses

FAQ

Who is Dedika?

Is the certificate valid in Australia?

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