Fundamente Flask & SQLAlchemy: creezi o mică aplicație web cu stocare persistentă în doar 4 ore.
Hands‑on cu rute, template‑uri și modele ORM.
Înțelegi cum Flask se integrează cu SQLAlchemy pentru interogări și tranzacții.
Dobândești experiență practică prin laboratoare ce codifică fiecare pas al aplicației.
Cum te ajută: pornești rapid prototipuri sau adaugi persistență proiectelor Python.
Cui i se adresează: conceput pentru persoane cu baze Python care intră în web development.
Include opțional trimiteri la pattern‑uri de scalare și funcționalități ORM avansate.
Curriculum
Partea 1 — Setup proiect & arhitectură
- App factory pattern, Blueprints și configuration (dev/test/prod)
- Database URL, engine, Session; folosirea Flask‑SQLAlchemy vs. SQLAlchemy simplu
- Request lifecycle și patternul session‑per‑request; teardown & error handlers
- Alembic init și prima migrație; seeding de date
Partea 2 — Modelare & interogare cu SQLAlchemy ORM
- Models, columns și constraints; timestamps și UUID
- Relații one‑to‑many / many‑to‑many; backrefs, cascades
- Patternuri de query: filtering, joins, selectinload vs joinedload; pagination
- Validare la margine (Marshmallow sau Pydantic)
Partea 3 — REST endpoints & tranzacții
- Create/read/update/delete endpoints; idempotency și upserts (pe scurt)
- Bazele tranzacțiilor și izolării; commit/rollback; răspunsuri 404/409/422
- Error handling și problem+json; maparea excepțiilor DB la HTTP
- Auth placeholder: schelet JWT (opțional)
Partea 4 — Teste, performanță & deployment
- Fixturi pytest; DB temporară (SQLite) vs. Postgres în Docker
- Teste bazate pe factory; teste tranzacționale și rollback
- Evitarea N+1; indecși și EXPLAIN (intro); dimensionarea connection pool
- Packaging și rulare cu Gunicorn; `.env` și note 12‑factor
Module opționale
Opțional — Docker Compose quickstart
- Compose cu Postgres și aplicația; variabile de mediu la runtime
- Healthchecks, migrații la startup și seed data
Structura zilei de curs
- Part 1: 09:00–10:00
- Break: 10:00–10:10
- Part 2: 10:10–11:10
- Break: 11:10–11:20
- Part 3: 11:20–12:20
- Break: 12:20–12:30
- Part 4: 12:30–13:30