Welcome! I'm HTMLOnline, your Python backend development learning companion.
We explain new ideas in plain language, practise repeatedly and build useful projects. Basic programming ideas are recommended; the path reviews the Python foundations needed for backend work.
Clear learning order Practise every chapter Projects and exams
Python backend development STARTER EXAMPLEfrom fastapi import FastAPI
app = FastAPI()Your first useful result is only a few careful steps away.
Checking progress…
EXPLORE BEFORE YOU START
Python and Backend Developer Path: course outline
Learn Python application structure, HTTP, FastAPI, SQL, authentication, testing and deployment through practical backend projects.
8 sections · 64 chapters · 16 project chapters
Before you begin
Basic programming ideas are recommended; the path reviews the Python foundations needed for backend work.
You can read this outline without signing in or completing onboarding. Start with the welcome screen above when you are ready to practise. Use a current browser; a keyboard and larger screen can make longer coding tasks easier, but the lesson interface also adapts to phones.
Practice and assessment
The in-page coding tasks use pattern checks to confirm required pieces. They do not replace installing the relevant framework, design application, Python environment or hosted service for full execution. Each section includes guided practice, projects and a ten-question exam.
Read an explanation, study the example, try the task and review feedback. Keep your own project files and test them in their intended environment. Completing an activity or a course certificate is not an accredited qualification or a guarantee of employment.
What each section covers
Expand a section to read its chapters and projects. This is the actual course curriculum, not a separate list of promised future topics.
01Python foundations for applications8 chapters
Write readable Python with functions, collections, modules and useful errors.
Section outcome: Organise a command-line application across tested modules.
Values and collections
Model records with strings, numbers, lists, dictionaries and appropriate immutable values.
Functions and exceptions
Create clear interfaces and distinguish expected results from exceptional failures.
Practice lab: Functions and exceptions
Rebuild and vary the functions and exceptions example until every important piece feels familiar.
Modules and packages
Split responsibilities and control public imports.
Virtual environments and dependencies
Keep project packages isolated and reproducible.
Practice lab: Virtual environments and dependencies
Rebuild and vary the virtual environments and dependencies example until every important piece feels familiar.
Mini project: Modular marks analyserProject
Separate input, calculation and reporting into modules.
Unit project: Command-line records applicationProject
Build a packaged Python application with tests and documented setup.
02HTTP and API design8 chapters
Understand requests, responses, resources and reliable API contracts.
Section outcome: Design a small REST-style API before choosing a framework.
HTTP methods and status codes
Match read, create, update and delete intent to clear methods and responses.
Resources and URLs
Name resource collections and identifiers consistently.
Practice lab: Resources and URLs
Rebuild and vary the resources and urls example until every important piece feels familiar.
JSON contracts
Define request and response fields, types and validation rules.
Errors, pagination and versioning
Keep failure and collection behaviour predictable as an API grows.
Practice lab: Errors, pagination and versioning
Rebuild and vary the errors, pagination and versioning example until every important piece feels familiar.
Mini project: API contract worksheetProject
Design endpoints and examples for one resource.
Unit project: Community directory API specificationProject
Document resources, validation, errors and pagination before implementation.
03FastAPI routes and validation8 chapters
Build typed endpoints with dependency injection and automatic documentation.
Section outcome: Implement a validated CRUD API with clear service boundaries.
Application and route handlers
Map HTTP requests to small endpoint functions.
Pydantic models
Validate and document structured request and response data.
Practice lab: Pydantic models
Rebuild and vary the pydantic models example until every important piece feels familiar.
Dependencies
Share database, authentication and other request-scoped requirements.
Service and repository layers
Keep business rules separate from HTTP and persistence details.
Practice lab: Service and repository layers
Rebuild and vary the service and repository layers example until every important piece feels familiar.
Mini project: Validated notes endpointProject
Build create and list endpoints with request models.
Unit project: Layered CRUD serviceProject
Implement routes, services and repositories for one complete resource.
04SQL and relational databases8 chapters
Model related data, query it safely and preserve consistency.
Section outcome: Connect an API to a migrated relational database.
Tables, keys and relationships
Represent entities and links with primary, foreign and uniqueness constraints.
SELECT and joins
Retrieve related records efficiently and readably.
Practice lab: SELECT and joins
Rebuild and vary the select and joins example until every important piece feels familiar.
Transactions and constraints
Keep multi-step changes consistent when one step fails.
Migrations and repositories
Evolve schema in reviewed steps and isolate persistence code.
Practice lab: Migrations and repositories
Rebuild and vary the migrations and repositories example until every important piece feels familiar.
Mini project: Normalised course schemaProject
Model learners, courses and enrolments with constraints.
Unit project: Database-backed enrolment APIProject
Add migrations, transactions and query tests to the service.
05Authentication and application security8 chapters
Verify identity, enforce permissions and protect secrets and input.
Section outcome: Add secure session or token authentication with tested authorisation rules.
Password storage and identity
Use established password hashing and never store plain passwords.
Sessions and tokens
Choose an authentication mechanism based on clients and threat boundaries.
Practice lab: Sessions and tokens
Rebuild and vary the sessions and tokens example until every important piece feels familiar.
Authorisation
Check whether the authenticated actor may perform the requested action.
Secrets, validation and abuse controls
Protect credentials and constrain untrusted input and request rates.
Practice lab: Secrets, validation and abuse controls
Rebuild and vary the secrets, validation and abuse controls example until every important piece feels familiar.
Mini project: Threat model checklistProject
Identify assets, actors, entry points and mitigations for one API.
Unit project: Authenticated private records APIProject
Implement login and object-level authorisation with security tests.
06Backend testing and debugging8 chapters
Test rules, database behaviour and HTTP contracts in isolation and together.
Section outcome: Create a dependable automated backend test suite.
Unit tests for services
Protect business rules without involving the network or real database.
API integration tests
Send requests through the application and verify contracts.
Practice lab: API integration tests
Rebuild and vary the api integration tests example until every important piece feels familiar.
Database fixtures and isolation
Give tests known data without leaking state between them.
Logging and diagnosis
Record useful context without exposing secrets.
Practice lab: Logging and diagnosis
Rebuild and vary the logging and diagnosis example until every important piece feels familiar.
Mini project: Regression test repairProject
Reproduce one backend bug and protect the fix.
Unit project: Layered API test suiteProject
Cover services, database repositories, HTTP contracts and permissions.
07Deployment and backend operations8 chapters
Package, configure, observe and recover a production service.
Section outcome: Deploy a database-backed API with health checks and logs.
Process and container basics
Run the service reproducibly with explicit dependencies and startup commands.
Configuration and secrets
Separate environment-specific values from committed source.
Practice lab: Configuration and secrets
Rebuild and vary the configuration and secrets example until every important piece feels familiar.
Health, logs and metrics
Expose readiness and capture enough context to diagnose failures.
Backups and migrations
Protect persistent data and rehearse schema changes and restoration.
Practice lab: Backups and migrations
Rebuild and vary the backups and migrations example until every important piece feels familiar.
Mini project: Production checklistProject
Document configuration, health and recovery for a sample API.
Unit project: Deployed service rehearsalProject
Deploy staging, migrate data, test health and practise rollback.
08Backend capstone and documentation8 chapters
Combine contracts, persistence, security, tests and operations into one service.
Section outcome: Publish a documented API another developer can safely use.
Requirements and domain modelling
Turn user needs into resources, rules and permission boundaries.
OpenAPI and developer experience
Provide accurate examples, errors and setup guidance.
Practice lab: OpenAPI and developer experience
Rebuild and vary the openapi and developer experience example until every important piece feels familiar.
Performance and abuse testing
Measure critical queries and constrain expensive or repeated requests.
Technical case study
Explain architecture, trade-offs, tests and operational evidence.
Practice lab: Technical case study
Rebuild and vary the technical case study example until every important piece feels familiar.
Mini project: Architecture decision recordProject
Document one important technology decision and its trade-offs.
Unit project: Community opportunities APIProject
Design, build, secure, test, deploy and present a complete backend service.
Progress, accounts and certificates
Guest progress is saved in this browser on this device. Clearing site data or switching browsers can remove access to that local progress. An optional account can synchronize supported course progress; it is not required to access the lessons. Download or back up project work separately.
Certificates recognize completion of the course activities on this site. They are not university credit, professional accreditation or proof that every program you write is correct.