Skip to content

fix: add missing 500 error template#67

Merged
komalharshita merged 1 commit into
komalharshita:mainfrom
ionfwsrijan:fix/missing-500-template
May 16, 2026
Merged

fix: add missing 500 error template#67
komalharshita merged 1 commit into
komalharshita:mainfrom
ionfwsrijan:fix/missing-500-template

Conversation

@ionfwsrijan
Copy link
Copy Markdown
Contributor

Summary [required]

This PR fixes the registered internal server error handler by adding the missing templates/500.html page. Without this template, Flask can raise a secondary TemplateNotFound: 500.html error when handling an unexpected server error. The new page follows the same structure as the existing 404.html template and includes a regression test for the 500 handler.

Related Issue [required]

Closes #66

Type of Change [required]

  • Bug fix - resolves a broken behaviour
  • Feature - adds new functionality
  • Data - adds new projects to data/projects.json
  • Documentation - updates docs, README, or code comments only
  • Style - CSS or visual changes only, no logic change
  • Refactor - restructures code without changing behaviour
  • Test - adds or updates tests

What Was Changed [required]

File Change made
templates/500.html Added a friendly internal server error page matching the existing error-page structure.
tests/test_basic.py Added a regression test confirming the 500 handler renders the template and returns status 500.

How to Test This PR [required]

  1. Clone this branch: git checkout fix/missing-500-template
  2. Install dependencies: pip install -r requirements.txt
  3. Run the tests: python tests/test_basic.py
  4. Optionally run the app with python app.py and trigger an unhandled server-side exception locally to confirm the friendly 500 page renders.

Expected test output:

28 passed, 0 failed out of 28 tests

Test Results [required]

  PASS  test_projects_json_loads
  PASS  test_each_project_has_required_fields
  PASS  test_find_project_by_id_found
  PASS  test_find_project_by_id_missing
  PASS  test_parse_skills_basic
  PASS  test_parse_skills_empty_string
  PASS  test_parse_skills_single_entry
  PASS  test_score_single_project_full_match
  PASS  test_score_single_project_no_match
  PASS  test_get_recommendations_returns_results
  PASS  test_get_recommendations_max_three
  PASS  test_get_recommendations_no_match_returns_empty
  PASS  test_get_recommendations_result_format
  PASS  test_validate_all_valid
  PASS  test_validate_missing_skills
  PASS  test_validate_missing_level
  PASS  test_validate_missing_interest
  PASS  test_validate_missing_time
  PASS  test_validate_all_missing
  PASS  test_home_route
  PASS  test_recommend_api_valid
  PASS  test_recommend_api_missing_field
  PASS  test_recommend_api_empty_body
  PASS  test_project_detail_found
  PASS  test_project_detail_not_found
  PASS  test_internal_server_error_page
  PASS  test_view_code_found
  PASS  test_download_code_found

28 passed, 0 failed out of 28 tests

Screenshots (if UI change)

No screenshot attached. This adds the missing error template and verifies it through the regression test.

Self-Review Checklist [required]

  • I have read CONTRIBUTING.md and followed all guidelines
  • My branch name follows the convention: feat/, fix/, docs/, data/, style/, test/
  • I have run python tests/test_basic.py and all 27 tests pass
  • I have run flake8 . locally and there are no errors
  • I have not introduced any print() or console.log() debug statements
  • Every new function I wrote has a docstring
  • I have not modified files outside the scope of the linked issue
  • If I changed the UI, I tested it at 375px (mobile) and 1280px (desktop)
  • If I added a project to the dataset, it has all required JSON fields

Notes for Reviewer

python -m flake8 . currently reports pre-existing lint issues across unrelated files such as routes/main_routes.py, starter_code/*, and existing tests. I did not modify those files to keep this PR scoped to issue #66.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 15, 2026

@ionfwsrijan is attempting to deploy a commit to the komalsony234-1530's projects Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for submitting your first pull request to DevPath.

Before review:

  • Complete the PR template fully
  • Ensure all tests pass
  • Link your PR to an issue
  • Keep changes scoped to the issue

A maintainer will review your contribution soon.

@ionfwsrijan
Copy link
Copy Markdown
Contributor Author

@komalharshita Kindly review and merge

Copy link
Copy Markdown
Owner

@komalharshita komalharshita left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing the requested changes.

This is a solid bug-fix PR overall. The issue is legitimate, the implementation is properly scoped, and the added regression test is especially valuable because it prevents the 500.html missing-template issue from reappearing in future changes.

I also appreciate that the PR stays focused only on the relevant files without introducing unrelated modifications.

The implementation and test coverage look good to merge. Nice work!

@komalharshita komalharshita merged commit 545104d into komalharshita:main May 16, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Missing 500 error template breaks the internal server error handler

2 participants