in my various examples I took these strategies:

  • try to run the Py code in PY shell in a REAL terminal or docker command line console
  • error messages directly from the shell are much more useful  
  • insert temporary print(...) statements at suspicious points
  • what I see by COS <THROW>  is often more obfuscation than a hint  

to my experience, your 'KeyError' indicates that you try to get a value
from a non-existing global or subscript. in COS it would be <UNDEF>

  • first I check the logical qualification - e.g. playing chess
  • next check the skills in estimating results of simple mathematical calculations  or simple mechanical ckecks or puzzle strategies (without paper and pencil) 
  • next, I observe the operation of their mobile phone and ask for explanations
  • the very last might be t take a look into suggestions like yours

With 2 very successful sons in software, internet, and project engineering (49yrs. + 36yrs.)
I have a valid benchmark for my strategy.

As Issues are disabled in the GitHub Repo I place my issue here.

  • Container starts fine
  • Postman fails:POST http://localhost:5000/persons/
    • Error: connect ECONNREFUSED 127.0.0.1:5000
    • Network
    • agent: "Desktop Agent"
    • Request Headers
    • Content-Type: application/json
    • User-Agent: PostmanRuntime/7.29.2
    • Accept: */*
    • Cache-Control: no-cache
    • Postman-Token: d40ec7c2-5b24-4944-8a76-c4cbf2685bf7
    • Host: localhost:5000
    • Accept-Encoding: gzip, deflate, br
    • Connection: keep-alive
    • Request Body
    • {"name":"Elon Musk","title":"CEO","company":"Tesla","phone":"123-123-1233","dob":"1982-01-19"}
  • as port 5000 is not mapped in docker-compose.yml this might be related ???