> ## Documentation Index
> Fetch the complete documentation index at: https://genai.codewithsiva.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Learn Python for GenAI: FastAPI and Backend Development

> Learn Python, FastAPI, SQL databases, and Docker deployment to build production-ready GenAI engineering applications from the ground up.

GenAI Engineering is a comprehensive, project-based course that takes you from Python fundamentals through full-stack backend development. You will build a real Employee Management System from scratch, adding databases, authentication, and deployment as you progress through each module.

<CardGroup cols={3}>
  <Card title="Getting Started" icon="rocket" href="/getting-started/index">
    Install Python, set up VS Code, and write your first program
  </Card>

  <Card title="Python Foundations" icon="python" href="/python-fundamentals/python-basics">
    Master variables, functions, classes, async, and Pydantic
  </Card>

  <Card title="FastAPI Backend" icon="server" href="/fastapi-foundations/index">
    Build production-grade REST APIs with automatic docs
  </Card>

  <Card title="Databases" icon="database" href="/sql/intro">
    SQL essentials, SQLAlchemy ORM, and Alembic migrations
  </Card>

  <Card title="Data Analysis" icon="chart-bar" href="/data-analysis/numpy">
    NumPy, Pandas, Matplotlib, and Seaborn
  </Card>

  <Card title="Workshop" icon="graduation-cap" href="/workshop/00-introduction">
    Intensive advanced Python & FastAPI workshop
  </Card>
</CardGroup>

***

## Course path

This course follows a project-based learning approach. You build a single **Employee Management System** that grows in complexity from a simple in-memory API to a production-grade, authenticated, database-backed application.

<Steps>
  <Step title="Set up your environment">
    Install Python, configure VS Code, and learn dependency management with `pip` and `uv`.
  </Step>

  <Step title="Learn Python fundamentals">
    Cover variables, data structures, functions, OOP, async programming, type hints, and Pydantic.
  </Step>

  <Step title="Build with FastAPI">
    Create REST APIs with request/response handling, routing, dependency injection, and auto-generated docs.
  </Step>

  <Step title="Integrate databases">
    Persist data with SQLite and PostgreSQL using SQLAlchemy ORM and Alembic migrations.
  </Step>

  <Step title="Secure with authentication">
    Add password hashing, JWT tokens, and role-based access control.
  </Step>

  <Step title="Deploy to production">
    Package with Docker and deploy to cloud platforms.
  </Step>

  <Step title="Learn GenAI Fundamentals" />

  <Step title="Prompt Engineering" />

  <Step title="RAG Systems" />

  <Step title="Agentic AI" />

  <Step title="MCP" />
</Steps>

***

## What you will learn

<CardGroup cols={2}>
  <Card title="Python for backend" icon="code">
    Functions, modules, OOP, closures, generators, async/await, type hints, and Pydantic validation — everything needed for production Python code.
  </Card>

  <Card title="FastAPI mastery" icon="bolt">
    Path and query parameters, request bodies, response models, APIRouter, dependency injection, middleware, and JWT auth.
  </Card>

  <Card title="SQL & ORM" icon="table">
    SQLite and PostgreSQL with raw SQL and SQLAlchemy ORM — DDL, DML, joins, and migrations.
  </Card>

  <Card title="Data analysis" icon="chart-line">
    NumPy arrays, Pandas DataFrames, Matplotlib plots, and Seaborn visualizations for data-driven backends.
  </Card>

  <Card title="Streamlit frontend" icon="window-restore">
    Build interactive data dashboards and full-stack applications with Streamlit.
  </Card>

  <Card title="Docker & deployment" icon="docker">
    Containerize your application and deploy to production with Docker Compose, Nginx, and cloud platforms.
  </Card>
</CardGroup>

***

## Hands-on projects

The Projects tab contains six complete FastAPI applications you can study and run locally:

<CardGroup cols={2}>
  <Card title="Basic CRUD API" icon="list" href="/fastapi-projects/01-basic-crud">
    In-memory employee management with full CRUD operations
  </Card>

  <Card title="ORM + Modular API" icon="folder-tree" href="/fastapi-projects/02-api-crud-orm-modular">
    Database-backed API with modular project structure
  </Card>

  <Card title="Blog Posts API" icon="newspaper" href="/fastapi-projects/03-blog-posts-api">
    Full blog API with posts, authors, and categories
  </Card>

  <Card title="JWT Authentication" icon="shield-halved" href="/fastapi-projects/04-restapi-with-jwt">
    Secured REST API with JWT tokens and role-based access
  </Card>
</CardGroup>

<Note>
  Start with [Getting Started](/getting-started/index) if you are new to Python, or jump directly to [FastAPI Foundations](/fastapi-foundations/index) if you already know Python basics.
</Note>
