1.2. About Agenda

  • Working hours 9:00 - 17:00

  • Lunch break 13:15 - 14:00

  • 10 min break every 1.5 hour

1.2.1. Day 1

  • Kwestie organizacyjne: przedstawienie się, przerwy, spreadsheet

  • Przygotowanie środowiska do pracy: github, git, python, doctest

  • Zadania testowe ewaluujące umiejętności użytkownika

  • Live Coding rozwiązań zadań i demonstracja funkcji IDE, tj. debugging, praca z VCS, refactoring, dokumentacja i typy, sygnatury funkcji

  • Type Annotation

  • About: Fast API

  • About: Install and Setup

  • About: FastAPI Architecture

  • About: Basic concepts

  • HTTP: Protocol

  • HTTP: URL vs URI

  • HTTP: Methods

  • HTTP: Statuses

  • HTTP: Headers

  • HTTP: MIME types

  • HTTP: API Versioning

  • JSON: load, dump

  • JSON: encoder, decoder

  • JSON: object serialization

1.2.2. Day 2

  • Request: Path parameters

  • Request: API Doc - swagger / redoc

  • Request: Query parameters

  • Request: Request body

  • Pydantic: Schema

  • Pydantic: BaseModel

  • Pydantic: Validation

  • Response: Handling exceptions

  • Response: Return response

  • Response: Define response model

  • Database: SQLAlchemy database connections

  • Database: Models and tables

  • Database: Insert data to database

  • Database: Select data from database

  • Database: Delete

  • Database: Update

  • Database: Relationships: o2o, o2m, m2m

1.2.3. Day 3

  • Async: About

  • Async: Coroutine, Task

  • Async: Run, Wait, Wait for, Gather

  • Router: API Router

  • Router: API Router with parameters

  • Use Case: User and Password - Create user

  • Use Case: User and Password - Hash user password

  • Use Case: User and Password - Show single user

  • Use Case: User and Password - Define docs tags

  • Use Case: JWT Authentication - Create Login route

  • Use Case: JWT Authentication - Login and verify password

  • Use Case: JWT Authentication - Return JSON Web Token (JWT) access token

  • Use Case: JWT Authentication - Routes behind authentication

  • DevOps: Docker

  • DevOps: Docker Compose

  • DevOps: Debugging

  • DevOps: Tests

  • DevOps: CI/CD

  • DevOps: Deployment