Edocti
Training tehnic avansat pentru inginerul software de mâine
Edocti Training

Essential Flask Development in Docker

Intermediar
14 h
4.6 (328 recenzii)
Essential Flask Development in Docker

Workshop Flask + Docker: construiești și containerizezi o aplicație web completă în 2 zile intensive.

Hands‑on cu rute Flask, template‑uri, formulare și integrare cu baze de date.

Containerizezi servicii cu Docker și creezi setup‑uri multi‑container.

Dobândești experiență practică prin ~70% laboratoare de deploy pe Docker.

Cum te ajută: pornești rapid aplicații Python web gata de producție în containere.

Cui i se adresează: conceput pentru persoane cu baze Python care intră în web și DevOps.

Include opțional scalare, CI/CD și pattern‑uri de deployment în cloud.

Curriculum

Ziua 1 – Fundamente & scaffolding proiect
  • Alegerile de design Flask: WSGI, request/response cycle, Blueprints, Jinja2 vs. API‑only
  • Structură repo (src/), config prin environment variables, .env; noțiuni de secrets
  • App factory pattern; Blueprints pentru modularitate; CLI cu flask CLI
  • Templates, fișiere statice, WTForms (opțional) și protecție CSRF
  • REST endpoints și OpenAPI (apispec/flasgger) — validare request (pydantic sau marshmallow)
  • Docker multi‑stage image; Compose pentru dev (hot reload) vs. prod
  • Lab: scaffold proiect, rulează în Docker, adaugă o pagină minimă + JSON API
Ziua 1 – Strat de date & autentificare
  • SQLAlchemy ORM & session patterns; modele, relații, migrații cu Alembic
  • Autentificare JWT (access/refresh), sesiuni vs. tokens; password hashing
  • CORS și CSRF — când și cum; access pe roluri (pe scurt)
  • Lab: adaugă modele/migrații, endpoints de auth, seed data
Ziua 2 – Operațional, performanță & workloaduri async
  • Modelul de proces Gunicorn; workers/threads; timeouts și keep‑alive; Nginx reverse proxy (opțional)
  • Caching (Flask‑Caching cu Redis); endpoints idempotente și pagination
  • Joburi în fundal cu Celery + Redis; retries, time limits, result backends
  • WebSockets cu Flask‑Sock (opțional) și server‑sent events (SSE)
  • Observability: structured logging, request IDs, metrics de bază; health și readiness endpoints
  • Lab: imagine prod containerizată, adaugă Celery worker/beat, cache pe un endpoint lent
Ziua 2 – Calitate, testare & CI
  • pytest fixtures pentru app, DB și client; factory_boy/Faker pentru date
  • Teste de integrare în Docker Compose; coverage și rulări paralele
  • Pre‑commit (ruff/black); verificări de tip (mypy, opțional)
  • Schiță CI (GitHub Actions): build, test, push image; .env și gestionare de secrets
  • Wrap‑up: opțiuni de deployment (container registry, ECS/Kubernetes), next steps

Module opționale

Opțional – API gateways & provideri de auth
  • OAuth2/OIDC cu provideri externi (Auth0/Keycloak)
  • Rate limiting și API keys (Flask‑Limiter)

Structura zilei de curs

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30