Learning outcomes
- Take a project from local code to a deployed, usable application
Core concepts
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.
Guided labs
Lab — package and prepare the Repair Tracker for deployment
- 1.Move any hardcoded values (if the Repair Tracker or Weather Dashboard used an API key) into a .env file, using python-dotenv
- 2.Confirm .env and *.db are both listed in .gitignore
- 3.Generate a requirements.txt for the project
- 4.Update the README (from Module 14) with full setup and run instructions
- 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.pyProfessional Capstone — final project
- 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.Scope an MVP — the smallest genuinely working version, must-haves clearly separated from nice-to-haves
- 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.Build incrementally — start with the MVP, test as you go, apply error handling (Module 8) to user input and external data
- 5.Apply clean code practices — PEP 8, docstrings and comments (Modules 12 and 14)
- 6.Version control from the start — regular, well-described commits pushed to GitHub (Module 13), not one commit at the end
- 7.Prepare for deployment — environment variables for secrets, requirements.txt, complete README
- 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.
Knowledge Check
Question 1 of 6
What does "but it works on my machine" actually reveal about a project?
What you read
- How code moves from a local machine to production
- Keeping secrets (API keys) safe
What you understand
Key takeaways
- — A finished project isn't done until someone else can run it
Hands-on lab
Lab tasks
- 1.Package and deploy the final capstone (e.g., to a simple hosting service)
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.
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).