← Python Coding Track

Module 15ProfessionalWeeks 10–12

Deployment & Final Project

01

Learning outcomes

  • Take a project from local code to a deployed, usable application
02

Core concepts

Basics of deploymentEnvironment variablesPackaging a project
03

Lessons

Module goal

Move a project from "runs on my computer" to "usable by someone else", then plan, build and present your own original Professional Capstone.

Lesson 1 of 5 · lecture

Why "it works on my computer" isn't the finish line

Step 1 of 2

Every project in this course has run in one place: your own machine, inside your own configured environment — right Python version, right libraries already present, files in exactly the expected folder. None of that is guaranteed on anyone else's computer.

An industry joke for a reason

"But it works on my machine" captures a real problem: code that depends on invisible assumptions about its environment breaks the moment it moves. Deployment is the set of practices that closes that gap.

04

Guided labs

Lab — package and prepare the Repair Tracker for deployment

  1. 1.Move any hardcoded values (if the Repair Tracker or Weather Dashboard used an API key) into a .env file, using python-dotenv
  2. 2.Confirm .env and *.db are both listed in .gitignore
  3. 3.Generate a requirements.txt for the project
  4. 4.Update the README (from Module 14) with full setup and run instructions
  5. 5.Work through the readiness checklist — ideally by copying the project into a completely new folder and following only the README to get it running from scratch
pip freeze > requirements.txt

# .gitignore
*.db
.env

# fresh-start test
cd ~/Desktop/fresh_test
git clone https://github.com/yourusername/repair-tracker.git
cd repair-tracker
pip install -r requirements.txt
python main.py

Professional Capstone — final project

  1. 1.Define the problem and audience — what does this solve, and for whom? (Can be genuinely personal, e.g. a tool for Next Door Tech's own repair intake process.)
  2. 2.Scope an MVP — the smallest genuinely working version, must-haves clearly separated from nice-to-haves
  3. 3.Plan the structure — what classes/models are needed (Module 7), how files are split (Module 10), whether a database is needed (Module 11)
  4. 4.Build incrementally — start with the MVP, test as you go, apply error handling (Module 8) to user input and external data
  5. 5.Apply clean code practices — PEP 8, docstrings and comments (Modules 12 and 14)
  6. 6.Version control from the start — regular, well-described commits pushed to GitHub (Module 13), not one commit at the end
  7. 7.Prepare for deployment — environment variables for secrets, requirements.txt, complete README
  8. 8.Present the project — a short written or recorded walkthrough of what it does, the choices made, and what would come next

Teaching point

Rubric — Functionality: does the MVP work and handle realistic invalid input gracefully? Code quality: PEP 8 consistency, sensible organisation, no significant duplication. Documentation: clear README, meaningful docstrings, informative commit history. Presentation: can you explain what you built and why you made those choices? Deployment readiness: would a stranger following only the README get it running? This capstone is intentionally less prescriptive than every one before it — the brief describes a process, not an application. That mirrors the shift the whole course has built toward: from following instructions, to owning a project from idea to deployed, documented, version-controlled reality.

Success criteria

You can start from an empty folder, follow only your own README, and get the project running correctly — and your original capstone is built, documented, committed and presented against the rubric above.

05

Knowledge Check

Question 1 of 6

What does "but it works on my machine" actually reveal about a project?

06

What you read

  • How code moves from a local machine to production
  • Keeping secrets (API keys) safe
07

What you understand

Key takeaways

  • A finished project isn't done until someone else can run it
08

Hands-on lab

Lab tasks

  1. 1.Package and deploy the final capstone (e.g., to a simple hosting service)
09

Knowledge check

  • Identify deployment readiness checklist items

Write your answers in your own notes before moving on — explaining a concept in your own words is the fastest way to find the gaps.

10

Professional capstone

Original Deployed Application

Design, build, document, version-control and deploy an original Python application of your choice — demonstrating mastery across all five levels. Reviewed against a professional-standard rubric (functionality, code quality, documentation, presentation).

11

Mark progress