Improvements I would make given more time

  • Actually document the software
  • Refactor into multiple files
  • Refactor parse* functions to just use a common one
  • Test more edge conditions
  • Remove empty lists from return data as indicated in the instructions
  • Add error checking, currently assumes the happy path
  • Refactor to allow unit testing of routes/http serving rather than just parsing
  • Add API documentation, likely don't have it hosted out of the root