
Career studio / Web Development
Build evidence for the Python Back-End Developer role
A training center needs a small local booking service. Model courses and bookings, validate inputs and prevent a learner from creating the same active booking twice.
Your outcome: Python booking service design and implementation with database and test suite.
Start with the right expectations
Who this is for
Python functions and basic SQL; complete foundation courses before the web application.
This path develops a demonstrable work sample for the named role. It does not replace employer-specific experience, professional qualifications or supervised practice.
Plan your study time
Use a flexible six-week project schedule: one week for each of the first four stages and two weeks for the portfolio and review. Allow roughly 3–5 hours per week for the case work, in addition to course study. This is a planning suggestion, not a measured course duration or a promise of job readiness.
Read the course access notes before starting. Free viewing or reading does not automatically include certificates, graded assessments, software licences or paid cloud resources. Core case work can be documented with a free editor and spreadsheet; optional implementation tools may have additional requirements.
Your course sequence
Start in the order below. Use the course outline to select the sections relevant to the stage tasks, and complete foundation exercises before moving on. Full provider courses can be substantially longer than this project schedule. These are course resources, not a claimed count of individual lessons.
Resource 01 / Harvard
CS 50 Introduction to Programming with Python
Purpose: Build the foundations. Connect your notes to the case tasks below rather than only collecting completion marks.
- Write functions, work with variables and use conditions and loops to control a program.
- Handle exceptions and debug behavior that differs from your expectations.
- Use libraries and write unit tests for reusable functions.
Access: Free CS 50 OpenCourseWare material and free development tools; free edX and GitHub accounts for assignment submission and free-certificate workflow. No required paid hosting or software.
Certificate: Free CS 50 certificate after at least 70% on each required problem and the final project. No academic credit.
Resource 02 / Harvard
CS 50’s Introduction to Databases with SQL
Purpose: Develop the role-specific method. Connect your notes to the case tasks below rather than only collecting completion marks.
- Query relational tables and connect records using primary and foreign keys.
- Model entities and relationships, choosing appropriate data types and constraints.
- Create, update and delete information while maintaining a clear database structure.
Access: Free CS 50 OpenCourseWare material and free development tools; free edX and GitHub accounts for assignment submission and free-certificate workflow. No required paid hosting or software.
Certificate: Free CS 50 certificate after at least 70% on every required problem and the final project; no automatic academic credit.
Resource 03 / Microsoft
Free Django Course: Build Web Apps with Python
Purpose: Strengthen practical application. Connect your notes to the case tasks below rather than only collecting completion marks.
Access: Free Video
Certificate: Video viewing only; no certification exam or certificate promised
Learn, make, check
Keep a decision log as you work. For each stage, capture the assumption, your work product, a check and the change you made after that check. The acceptance criterion is the stopping condition for the stage.
Stage 1 / suggested project week 1
Model the domain
Understand: The database should protect important invariants.
Make: Define course, learner and booking tables with keys and uniqueness rules.
Check before moving on: Explain how cancellations affect duplicate-booking rules.
Study companion: CS 50 Introduction to Programming with Python. Use its relevant lessons and examples; the independent WikiFree task is not a provider assessment.
Save as evidence: a dated work product and a short note explaining one choice, one alternative and one remaining uncertainty.
Stage 2 / suggested project week 2
Implement the service
Understand: An endpoint needs a contract and predictable errors.
Make: Specify create, list and cancel operations with validation and status responses.
Check before moving on: A missing course ID does not create an orphan record.
Study companion: CS 50’s Introduction to Databases with SQL. Use its relevant lessons and examples; the independent WikiFree task is not a provider assessment.
Save as evidence: a dated work product and a short note explaining one choice, one alternative and one remaining uncertainty.
Stage 3 / suggested project week 3
Test behavior
Understand: Tests should exercise boundaries and failures.
Make: Test duplicate booking, invalid capacity, missing fields and cancellation behavior.
Check before moving on: Do not use production learner data in fixtures.
Study companion: Free Django Course: Build Web Apps with Python. Use its relevant lessons and examples; the independent WikiFree task is not a provider assessment.
Save as evidence: a dated work product and a short note explaining one choice, one alternative and one remaining uncertainty.
Stage 4 / suggested project week 4
Prepare a handover
Understand: A runnable project needs installation and operational assumptions.
Make: Write setup, migration, test and local-run instructions; describe secrets handling.
Check before moving on: Do not commit credentials or claim production deployment from a local run.
Study companion: Free Django Course: Build Web Apps with Python. Use its relevant lessons and examples; the independent WikiFree task is not a provider assessment.
Save as evidence: a dated work product and a short note explaining one choice, one alternative and one remaining uncertainty.
Stage 5 / suggested project weeks 5–6
Present your portfolio
Assemble the four work products into Python booking service design and implementation with database and test suite. Write a README explaining the problem, your assumptions, the decisions you made, tests actually performed and what remains incomplete.
Give a five-minute walkthrough: one minute for the problem, two for the work and evidence, one for trade-offs and one for the next improvement. If you have not implemented a proposed system, label it a design or prototype rather than a deployed solution.
Acceptance: a reviewer can locate each work product, reproduce the key reasoning and identify the limits without a private explanation from you.

The portfolio brief
A training center needs a small local booking service. Model courses and bookings, validate inputs and prevent a learner from creating the same active booking twice.
Deliver: Python booking service design and implementation with database and test suite.
| course id | title | capacity |
|---|---|---|
| C 1 | SQL Basics | 2 |
| C 2 | Python Files | 3 |
| C 3 | Testing Basics | 1 |
Use these small inputs to make the reasoning visible. They are not a representative dataset, a real client engagement or evidence of production performance. Where the brief requires additional sample records, create them yourself, label them synthetic and explain why you added them.
The ZIP includes the case CSV, four stage worksheets, course sequence, decision log, test log, portfolio README template, review rubric and reference reasoning. It is a starter kit for your work, not a completed application, professional report or proprietary project file.
Check your reasoning
Two identical booking requests arrive. What must prevent duplicate active bookings?
Write your answer and assumptions before opening the reference.
Read the reference reasoning
A defined idempotency or uniqueness strategy enforced at the appropriate database/application boundary. A pre-insert check alone can race; document and test concurrent behavior if implemented.
Portfolio review rubric
| Criterion | Points | Evidence required |
|---|---|---|
| Problem and scope | 4 | A clear user, need, boundary and assumptions |
| Role-specific work | 8 | 2 points for each of the four stage acceptance checks |
| Reasoning and validation | 4 | Independent checks, actual results and uncertainty |
| Communication and reproducibility | 4 | A usable README, source links and reviewable work products |
Aim for at least 16/20 as a self-review target, with no missing stage acceptance check. This is a WikiFree practice rubric, not an industry credential or a hiring assessment.
Interview practice
What belongs in database constraints rather than only in form validation?
Answer using the case: context, your action, evidence and limitation. Describe this honestly as a self-directed project. Do not present fictional organizations, invented interviews or practice results as paid work experience.
Your progress
Use this checklist as a personal study aid. Progress is stored in this browser when local storage is available; it is not an account record or a certificate.
0 of 5 milestones complete
The lessons and projects remain readable without JavaScript. Automatic progress saving requires JavaScript.
Questions before you start
Will this path qualify me for a job?
It helps you study relevant foundations and produce a work sample. Employers may require additional skills, qualifications and experience. Review actual role requirements before applying; no job or certification is guaranteed.
Are all tools and certificates free?
The linked learning routes were selected for free viewing or reading. Follow the separate access and certificate notes on each course. Paid tools and cloud deployment are optional; document a local design when implementation resources are unavailable.
Can I follow this on a phone?
You can read the path and many learning resources on a phone. Coding, detailed spreadsheet work, design tools and mobile-app development are easier or require a suitable computer. The page is designed to reflow; that is not a claim that every physical device has been tested.
Questions & discussion
Share a useful question or correction. Comments appear after moderation. Please avoid personal or sensitive information.