Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

FastAPI Core Engine Course: Practical APIs, Hybrid Databases & Cloud Uplink

By George Freedom

From raw Python scripts to clean, production-ready microservices. A practical, hands-on course covering FastAPI, Pydantic validation, dual-database architecture (SQLite + DuckDB), and cloud deployment.

🚀 Overview

Welcome to FastAPI Core Engine. This repository contains a structured, practical course delivered through step-by-step notebook study guides and runnable Python microservices.

Instead of abstract theory, we build a working backend system designed to handle real pipelines: receiving incoming status signals, managing transactional device states, querying columnar analytical data, and exposing public endpoints.

Clean code, solid system architecture, and practical execution.

🗺️ Course Outline

The curriculum takes you step-by-step from base HTTP endpoints to a modular, cloud-deployed API.

  • Module 1: Core API & Validation – Setting up FastAPI, handling REST routes, validating data contracts with Pydantic models, managing HTTP exceptions, and testing via interactive Swagger UI.
  • Module 2: Dual-Database Engine (SQLite & DuckDB) – Building a hybrid storage layer: SQLite for operational state management (OLTP) and DuckDB for fast analytical processing (OLAP).
  • Module 3: Modular Architecture & Cloud Uplink – Scaling the application using Application Factories, APIRouter, Dependency Injection (Depends), .env configuration, and deploying live services to Render.com and FastAPI Cloud.

🎯 What You Will Learn

By completing this course, you will be able to:

  • Build clean RESTful APIs using FastAPI and automatic OpenAPI documentation.
  • Validate and parse incoming data using Pydantic schemas.
  • Implement a dual-database approach: SQLite for quick transactional reads/writes and DuckDB for fast analytics on structured data.
  • Structure Python backend applications using Application Factories, APIRouter, and Dependency Injection.
  • Manage environment variables safely using .env files.
  • Deploy web services to the cloud via GitHub and platforms like Render and FastAPI Cloud.

🎒 Prerequisites

  • Basic Python knowledge (functions, dictionaries, lists, type hints).
  • Some familiarity with the terminal and basic file paths.

🧭 How to Get and Run Course Materials:

Here is a guide on how to download the materials. The course uses Jupyter Notebooks (.ipynb) for analysis lessons and Python scripts (.py) for the final Streamlit application.

Part 1: How to Download the Materials

Option A: Download as ZIP (Easiest for Beginners)

  • Go to the main page of this repository on GitHub.
  • Click the green Code button.
  • Select Download ZIP. Important: Extract (unzip) the downloaded folder to a location on your computer. Do not try to run files directly inside the ZIP archive.

Option B: Git Clone (For Advanced Users)

If you are comfortable with the terminal and want to easily update materials later:

  • Open your terminal or command prompt.
  • Run the following command:
    git clone https://github.com/GeorgeFreedomTech/fastapi-course.git

Part 2: How to Open and Run the Notebooks

Option 1: VS Code (Recommended - Offline)

This is the best way to work if you want to keep everything on your own computer.

Prerequisites:

  • VS Code installed.
  • Python installed.
  • Jupyter Extension for VS Code installed (search for "Jupyter" by Microsoft in the Extensions marketplace).

Steps:

  1. Open VS Code.
  2. Go to File > Open Folder... and select the folder you downloaded/cloned.
  3. Click on any file ending in .ipynb.
  4. In the top-right corner, click Select Kernel and choose your Python version (or venv).
  5. You can now run the code cells by clicking the "Play" button next to them.

Option 2: Google Colab (Alternative - Online)

If you cannot install Python locally or want to try the code quickly in your browser.

Prerequisites:

  • You have to have a Google account

Steps:

  1. Go to colab.research.google.com.
  2. Log in with your Google Account.
  3. Select the GitHub tab in the pop-up window.
  4. Paste the URL of this repository and search.
  5. Click on the notebook you want to open.
  • Alternatively: You can go to the Upload tab and upload the .ipynb file you downloaded in Part 1.

🛰️ Repository Objectives:

  • Practical Learning: A straightforward path from basic scripts to production-grade backend design.
  • Clean Code Reference: Well-structured, commented code templates you can reuse in your own projects.
  • Systems Perspective: Real-world patterns for handling both transactional and analytical workloads in Python.

🔗 Next Steps & Connect:

📜 License:

Copyright (c) 2026 Jiří Svoboda (George Freedom) / George Freedom Tech

About

Hands-on course: FastAPI microservices, DuckDB and SQLite databases, and cloud deployment. Designed by George Freedom Tech.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages