Three weeks of building blocks. Variables, loops, functions, CSV parsing, JSON output. What does the capstone look like from where you are standing?
The monthly invoice generator. Take a client list, compute totals, group by status, rank by revenue, flag over-budget projects, format each invoice line, return everything.
You have already written every piece. This week assembles them. Day 24 adds list comprehensions to filter and transform in one line. Day 25 extracts client names from raw text with regex. Day 26 sorts and ranks by total revenue. Day 27 wraps the revenue computation in error handling for messy data. Day 28 wires the full pipeline into monthly_invoice_report.
And that one function replaces my two-hour end-of-month ritual?
That is the test: run it on your real client list. Six invoice lines, ranked, flagged, JSON-ready. Two hours becomes ten seconds.
top_clients_by_revenue: list comprehension to filter valid clients, then slice top Nextract_client_names: re.findall to pull names from raw JSON-like textrank_clients_by_revenue: sorted(key=lambda ...) on grouped status summariessafe_compute_total: try/except KeyError, ValueError for messy client datamonthly_invoice_report: the full capstone pipelineGoal: by Friday, one function call generates the monthly invoice report your accountant can use.
7 lessons this week
Three weeks of building blocks. Variables, loops, functions, CSV parsing, JSON output. What does the capstone look like from where you are standing?
The monthly invoice generator. Take a client list, compute totals, group by status, rank by revenue, flag over-budget projects, format each invoice line, return everything.
You have already written every piece. This week assembles them. Day 24 adds list comprehensions to filter and transform in one line. Day 25 extracts client names from raw text with regex. Day 26 sorts and ranks by total revenue. Day 27 wraps the revenue computation in error handling for messy data. Day 28 wires the full pipeline into monthly_invoice_report.
And that one function replaces my two-hour end-of-month ritual?
That is the test: run it on your real client list. Six invoice lines, ranked, flagged, JSON-ready. Two hours becomes ten seconds.
top_clients_by_revenue: list comprehension to filter valid clients, then slice top Nextract_client_names: re.findall to pull names from raw JSON-like textrank_clients_by_revenue: sorted(key=lambda ...) on grouped status summariessafe_compute_total: try/except KeyError, ValueError for messy client datamonthly_invoice_report: the full capstone pipelineGoal: by Friday, one function call generates the monthly invoice report your accountant can use.