QEats Module 5 - Solution Approach
Problem Explanation
In this module, you need to find the cause of crash of the QEats app and rectify it so that the
crash doesn’t occur
Debugging Iterations
Follow the scientific debugging methodology as explained in the milestones and try to find
what is causing the error. There are many ways to find the root cause of the error.
Rectifying the Error
The crash occurs due to an issue with the spellings of restaurants. Our frontend is unable to
handle specialised characters outside of the standard English alphabet such é. These
characters cause the frontend to abruptly crash. We need to check our response object
before we send it to the frontend to ensure if the name of any restaurant contains this
character, it is replaced by a symbol like ‘?’. This will allow the frontend to render it as well
and at the same time will indicate there was a special character at that place.
Here, we first fetch all restaurants in the response object, iterate through them one by one
and change each occurrence of the special character causing the crash with a question
mark. Then we call the setter of the response object’s restaurants field and assign the new
list of restaurants with the changed name to it.
Precautions
1. Always read the reference links provided at the end of the milestones.
2. Before submission, run ./gradlew build to ensure your code passes all test cases and
checkstyle, SpotBugs and PMD tests
3. You can also use ./gradlew test to only check for test cases, but before submission
your code will be automatically evaluated for a successful build and if the build fails it
won’t be submitted for evaluation.
4. For resolving checkstyle or PMD errors, head to the forum. There are multiple links
on resolving them.