# RelianceHMO Frontend Developer Assessment Grading ## Candidate Info: **Name**: William Olojede ## Final Score 56 / 120 ( 46.7% ) ## Score Breakdown |**Question** | **Expections** | **Score**| |----|------------------------------------------------------|---| | Q1 | Search works for query strings | 5 | | | Catch no result | 5 | | | Case sensitive | 5 | | | Works for arrays | 5 | | | | | | Q2 | Filter Works | 2 | | | Case insensitive | 0 | | | Reset when search is empty / provides a clear button | 0 | | | Updates UI on keypress (Reactive search) | 3 | | | Debounce on keypress | 0 | | | Show loader while filtering | 0 | | | | | | Q3 | Search Works | 5 | | | Debounce on keypress | 0 | | | Shows "no result" when search returns nothing. | 0 | | | Clear search when input is empty | 0 | | | Dropdown Items should be clickable | 0 | | | UI works appropriately | 0 | | | | | | Q4 | Successful Submission | 5 | | | Successful Image Upload | 5 | | | Render uploaded image in placeholder | 3 | | | Show loader while submitting | 3 | | | Update UI after submission | 2 | | | | | | Q5 | Maintain Layout on new route | 3 | | | Add onClick to dropdown and provider grid. | 3 | | | Style Page :D | 2 | --- ## Expectations / Comments: ### Task 1 : - Nice work with the detailed error catching here. Extra points for that. ### Task 2: - Lost points cause filter only works for absolute equality. Ideally it should've been case insensitive , and shouldn't use absolute equality i.e It should've used `string.contains()` or `string.indexOf()`. - Filter should've been debounced for performance reasons i.e a delay should've been observed before performing filter, instead of performing it on every keypress. ### Task 3: - Search should've been debounced for performance reasons i.e a delay should've been observed, to gather a considerable amount of input first, before performing search, instead of performing it on every keypress. This helps in reducing the amount of times a request is send to the server. - Lost points for not styling the dropdown appropriately. P.s styles were already available in App.scss. ### Task 4: - Lost points for not sizing the image after successul upload. - Lost points for not showing any submission indicator i.e a loading screen. Seems like you had plans to though. - Lost Points for not reseting the form after submission, and not showing an appropriate successful submission view (An alert doesn't count [-_-] ) ### Task 5: - Lost points for not navigation to new route on clicking the autocomplete dropdown.