Edocti Training
Wesentliche Flask-Entwicklung mit Docker
Geplante Sessions
Aktuell sind keine Termine verfügbar.
Fähigkeiten, die Sie lernen werden
Flask Web Framework
Docker Containerisierung
Docker Compose
SQLAlchemy ORM
REST API Entwicklung
JWT Authentifizierung
Celery & Redis
CI/CD Integration
Curriculum
Tag 1 – Grundlagen & Projekt‑Scaffolding
- Flask Designentscheidungen: WSGI, Request/Response Cycle, Blueprints, Jinja2 vs. API‑only
- Repository‑Layout (src/), Config über Environment Variables, .env‑Handling; Secrets‑Basics
- App‑Factory‑Pattern; Blueprints für Modularität; CLI mit flask CLI
- Templates, statische Dateien, WTForms (optional) und CSRF‑Schutz
- REST‑Endpoints und OpenAPI (apispec/flasgger) — Request‑Validierung (pydantic oder marshmallow)
- Docker Multi‑Stage Image; Compose für Dev (Hot Reload) vs. Prod
- Hands‑on Lab: Projekt scaffolden, in Docker starten, minimale Page + JSON‑API
Tag 1 – Datenebene & Auth
- SQLAlchemy ORM & Session‑Muster; Models, Beziehungen, Migrationen mit Alembic
- JWT‑Authentifizierung (Access/Refresh), Sessions vs. Tokens; Password Hashing
- CORS und CSRF — wann und wie; rollenbasierter Zugriff (kurz)
- Hands‑on Lab: Models/Migrationen, Auth‑Endpoints, Seed‑Daten
Tag 2 – Betrieb, Performance & Async‑Workloads
- Gunicorn Prozessmodell; Worker/Threads; Timeouts und Keep‑Alive; Nginx Reverse Proxy (optional)
- Caching (Flask‑Caching mit Redis); idempotente Endpoints und Pagination
- Background‑Jobs mit Celery + Redis; Retries, Time Limits, Result Backends
- WebSockets mit Flask‑Sock (optional) und Server‑Sent Events (SSE)
- Observability: strukturiertes Logging, Request‑IDs, Basis‑Metriken; Health‑ und Readiness‑Endpoints
- Hands‑on Lab: Prod‑Image containerisieren, Celery Worker/Beat hinzufügen, Caching für langsamen Endpoint
Tag 2 – Qualität, Tests & CI
- pytest‑Fixtures für App, DB und Client; factory_boy/Faker für Daten
- Integrationstests in Docker Compose; Coverage und parallele Läufe
- Pre‑commit Hooks (ruff/black); Typprüfungen (mypy, optional)
- CI‑Skizze (GitHub Actions): Build, Test, Image Push; .env und Secrets‑Handling
- Wrap‑up: Deployment‑Optionen (Container Registry, ECS/Kubernetes), Next Steps
Optionale Module
Optional – API Gateways & Auth‑Provider
- OAuth2/OIDC mit externen Providern (Auth0/Keycloak)
- Rate Limiting und API Keys (Flask‑Limiter)
Kursablauf
- Teil 1: 09:00–10:30
- Pause: 10:30–10:45
- Teil 2: 10:45–12:15
- Mittagspause: 12:15–13:15
- Teil 3: 13:15–15:15
- Pause: 15:15–15:30
- Teil 4: 15:30–17:30