← All learning paths

Typorithm learning path

Flask: APIs and web applications

Application factories, routing, bounded JSON, pagination, errors, blueprints, Jinja, signed sessions and rotation, Flask-WTF CSRF, SQLAlchemy 2, rollback, Alembic, ownership, pytest, trusted hosts and a notes capstone. Six sections per lesson, retained exercise baselines, two hints and small gradual tasks. Verified with Python 3.13 and Flask 3.1.3. Reading and reasoning checks work in the app; real framework execution uses the downloadable computer lab. CPU only, owned fixtures, no external datasets or production feeds.

16Focused modules
16Lessons to explore
48Typing drills
Flask: APIs and web applications course illustration

Study with a practical destination

Use the linked lessons in order, complete the lab and explain the decisions without the reference. Select the path and depth that match your role.

Flask: a bounded API and owned notes

Before starting: Python foundations and basic HTTP; SQL foundations before the persistence lessons. Reading and reasoning checks work in the app; framework execution uses the isolated pinned computer lab.

Build and explain: Build an application factory with truthful API contracts, signed sessions, CSRF, SQLAlchemy and selected owner-scoped reads.

  1. 1. Flask: browser-session CSRF protection with Flask-WTF
  2. 2. Flask: SQLAlchemy 2 models, sessions and selected reads
  3. 3. Flask: rollback and honest transaction outcomes
  4. 4. Flask: additive schema changes with Alembic
  5. 5. Flask: password verification and object ownership
  6. 6. Flask: pytest fixtures and tests that catch a real regression
  7. 7. Flask: trusted hosts and production deployment boundaries
  8. 8. Flask capstone: owned notes from request to selected readback
  9. 9. Flask: application factories and isolated configuration
  10. 10. Flask: routes, endpoint names and HTTP methods
  11. 11. Flask: JSON boundaries, validation and request limits
  12. 12. Flask: query parameters and bounded pagination
  13. 13. Flask: response contracts and expected errors
  14. 14. Flask: blueprints and endpoint namespaces
  15. 15. Flask: Jinja escaping and explicit empty-value semantics
  16. 16. Flask: signed sessions, tampering and secret rotation

Review evidence: Attempt the retained small exercise before revealing its solution. Use the two hints, compare observed framework state and run the positive and negative cases. Optional stretches do not block the core. Local fixtures do not establish production readiness or professional certification.

Your learning path

0 of 16 lessons completed

Saved on this device

01

Module 1 · 1 lessons

Flask: application factories and isolated configuration

Build two independent applications instead of mutating a process-wide singleton.

0/1 complete
02

Module 2 · 1 lessons

Flask: routes, endpoint names and HTTP methods

Generate URLs from endpoint names and keep method policy explicit.

0/1 complete
03

Module 3 · 1 lessons

Flask: JSON boundaries, validation and request limits

Separate media-type errors, malformed JSON, shape validation and bounded input.

0/1 complete
04

Module 4 · 1 lessons

Flask: query parameters and bounded pagination

Treat query strings as untrusted strings and bound each page.

0/1 complete
05

Module 5 · 1 lessons

Flask: response contracts and expected errors

Return truthful statuses and consistent JSON for expected missing resources.

0/1 complete
06

Module 6 · 1 lessons

Flask: blueprints and endpoint namespaces

Organize related routes without confusing a blueprint with an application.

0/1 complete
07

Module 7 · 1 lessons

Flask: Jinja escaping and explicit empty-value semantics

Render untrusted text as text and distinguish missing from empty values.

0/1 complete
08

Module 8 · 1 lessons

Flask: signed sessions, tampering and secret rotation

Understand that default cookie sessions are signed, not encrypted.

0/1 complete
09

Module 9 · 1 lessons

Flask: browser-session CSRF protection with Flask-WTF

Verify a token belongs to the same session before accepting a browser write.

0/1 complete
10

Module 10 · 1 lessons

Flask: SQLAlchemy 2 models, sessions and selected reads

Use mapped columns and explicit ordered queries in an application-scoped session.

0/1 complete
11

Module 11 · 1 lessons

Flask: rollback and honest transaction outcomes

Flush pending writes, inject a controlled failure and verify the surviving state.

0/1 complete
12

Module 12 · 1 lessons

Flask: additive schema changes with Alembic

Preserve an existing row while extending its schema through a migration operation.

0/1 complete
13

Module 13 · 1 lessons

Flask: password verification and object ownership

Separate establishing identity from authorizing a particular resource.

0/1 complete
14

Module 14 · 1 lessons

Flask: pytest fixtures and tests that catch a real regression

Test the response contract rather than merely confirming that a request completed.

0/1 complete
15

Module 15 · 1 lessons

Flask: trusted hosts and production deployment boundaries

Use current host validation and understand what a local client cannot prove.

0/1 complete
16

Module 16 · 1 lessons

Flask capstone: owned notes from request to selected readback

Combine session identity, CSRF, validation, persistence and scoped reads.

0/1 complete