Edocti Training
Flask & SQLAlchemy — Micro Training (4h)
Sesiuni programate
Nu există sesiuni disponibile în acest moment.
Abilități dobândite
Fundamente Flask
Rute API
SQLAlchemy ORM
Migrații Baze de Date
Endpoints REST
Management Tranzacții
Testare Automată
Deployment Backend
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
- Partea 1: 09:00–10:00
- Pauză: 10:00–10:10
- Partea 2: 10:10–11:10
- Pauză: 11:10–11:20
- Partea 3: 11:20–12:20
- Pauză: 12:20–12:30
- Partea 4: 12:30–13:30