MrFaws Docs
Learn Python

Projects and Exercises

Build increasingly realistic projects throughout the learning path.

Fundamental: terminal calculator

Read two numbers and an operator, support the four basic operations, handle invalid input and repeat until the user enters quit.

Beginner: task manager

Create, list, complete and delete tasks. Start with a list of dictionaries and add JSON persistence afterward.

Intermediate: packaged CLI

Use pyproject.toml, a src layout, dataclasses, type hints and pytest. Provide clear exit codes and error messages. Study PixelVault as a real reference.

Web: database API

Build a FastAPI inventory API with validated schemas, SQLite, repository and service layers, transactions, logging and integration tests.

Automation: backup tool

Add configuration, dry-run mode, checksums, safe paths, logging and a final report. Run it through the operating system scheduler.

Advanced: asynchronous monitor

Check multiple endpoints concurrently with timeouts, retry with backoff, structured logging and a concurrency limit. Test it using a fake HTTP client.

Definition of done

A project has setup instructions, validated inputs, understandable errors, tests for important logic, no committed secrets and a reproducible clean installation.

On this page