Developing APIs with Python and FastAPI Training Course


  • FastAPI vs Django vs Flask
  • Overview of FastAPI features and advantages

Getting Started

  • Installing FastAPI
  • Defining a schema using OpenAPI

Path and Query Parameters

  • Declaring path parameter types
  • Parsing and validating data
  • Declaring required and optional parameters
  • Converting query parameter types
  • Multiple path and query parameters

Declaring a Request Body with Pydantic Models

  • Creating a data model
  • Combining path, query, and body parameters
  • Declaring validations and metadata
  • Using deeply nested models
  • Defining example data
  • Response and extra models

Defining Forms and Files

  • Using form fields instead of JSON
  • Creating file parameters
  • Using file and form parameters

Handling Errors

  • Using HTTPException
  • Adding custom headers
  • Installing custom exception handlers
  • Overriding default exception handlers

Working with Databases

  • ORMs and file structure
  • Creating SQLAlchemy parts
  • Creating database models
  • Creating Pydantic models
  • Performing CRUD operations
  • Creating tables, dependency, and path operations
  • Reviewing and checking files
  • Interacting with the database

Security and Authentication

  • Using Oauth2 and OpenID connect
  • Defining multiple security schemes with OpenAPI
  • Using the FastAPI utilities


  • Deployment concepts, stages, and tools
  • Working with Gunicorn and Uvicorn
  • Using container systems (Docker and Kubernetes)


Summary and Next Steps

Web application development with Flask Training Course

  • Why web frameworks are needed
  • Overview of available Python web frameworks
  • Installation of Flask
  • Routing requests to view functions
  • Serving static files
  • Rendering templates with Jinja2
  • Loops and conditionals
  • Template inheritance
  • Macros in templates
  • Flat pages with Flask-Flatpages
  • HTML5 Boilerplate as a starting point
  • Producing JSON
  • Issuing redirects
  • Application context and Request context
  • Dealing with file uploads with Flask-Uploads
  • Structuring a complex application: how to avoid circular imports
  • Structuring a complex application: Blueprints
  • Commonly used ORMs: SQLAlchemy and Peewee
  • Database migrations
  • Form validation with WTForms and Flask-WTF
  • Sending email with Flask-Mail
  • User session management with Flask-Login and Flask-User
  • The admin interface created by Flask-Admin
  • Internationalization with Flask-BabelEx
  • Preprocessing of frontend files with Flask-lesscss and Flask-Assets
  • Deploying Flask applications into production

Alpine JS Training Course

  • Introduction to Alpine JS
  • Installing Alpine JS
  • Basic Alpine Components
  • Visibility
  • Models and X-ref
  • Sidebars and Tabs
  • Image Selection
  • Scroll Detection
  • Accordion Toggle and Loops
  • Fetch and X-init
  • Attribute binding
  • Text and HTML
  • Todo App and X-model
  • Transitions
  • Summary and Next Steps