Summary
Five projects in data/projects.json reference starter-code files that do not exist in the repository. On the project detail page, "View Code" and "Download" for these projects return 404 (the file-server route read_starter_code/resolve_starter_file can't find the referenced path).
Evidence
Cross-checking every starter_code value in data/projects.json against starter_code/:
| Project id |
Title |
Referenced path |
Status |
| 20 |
Flashcard Study App |
starter_code/flashcard_app.html |
missing |
| 21 |
Budget Tracker Web App |
starter_code/budget_tracker.html |
missing |
| 22 |
Network Port Scanner |
starter_code/port_scanner.py |
missing |
| 23 |
Typing Speed Test |
starter_code/typing_test.html |
missing |
| 24 |
Course Progress Tracker |
starter_code/course_tracker.py |
missing |
All other referenced files (including password_checker.py and url_shortener.py, previously reported as missing in #480/#550) now exist — only these five are still broken.
The project pages render a "Starter Code" tab unconditionally for these projects, and src/utils/file_server.py resolves the path against the starter_code/ directory, so clicking the links surfaces a 404.
Impact
- 5 of the 34 advertised projects ship with broken "View Code" / "Download" starter-code actions — the core value proposition ("starter code ready") is broken for those projects.
- The detail-page UI gives no indication the file is missing.
Suggested Fix
- Add the five missing files to
starter_code/ (they're listed in the README's dataset as available), or
- Set
starter_code: null for those projects and have the template hide the starter-code tab when null, and/or
- Add a startup/test validation that every non-null
starter_code reference resolves to an existing file.
Summary
Five projects in
data/projects.jsonreference starter-code files that do not exist in the repository. On the project detail page, "View Code" and "Download" for these projects return 404 (the file-server routeread_starter_code/resolve_starter_filecan't find the referenced path).Evidence
Cross-checking every
starter_codevalue indata/projects.jsonagainststarter_code/:starter_code/flashcard_app.htmlstarter_code/budget_tracker.htmlstarter_code/port_scanner.pystarter_code/typing_test.htmlstarter_code/course_tracker.pyAll other referenced files (including
password_checker.pyandurl_shortener.py, previously reported as missing in #480/#550) now exist — only these five are still broken.The project pages render a "Starter Code" tab unconditionally for these projects, and
src/utils/file_server.pyresolves the path against thestarter_code/directory, so clicking the links surfaces a 404.Impact
Suggested Fix
starter_code/(they're listed in the README's dataset as available), orstarter_code: nullfor those projects and have the template hide the starter-code tab when null, and/orstarter_codereference resolves to an existing file.