GP Search is a web app that shows doctors nearby a location. The app is implemented using a Koa backend and a React frontend, both written in Typescript.
To run both the frontend and backend, you must have Node and Yarn installed. Run yarn install
and then yarn start
in the root of the repo. You can now access the web app at http://localhost:1234/.
Once you have the app running and understand the codebase, it would be great if you could work through the stages of this technical challenge below.
Your answers will form the basis for our discussions during the technical interview stage.
Please do not spend any more than two hours on this challenge.
Detail how you would implement the product changes below.
You can demonstrate your approach to implementing these changes by making changes to the codebase or writing a description of how you would implement each change. Please include details of both the code involved and any changes to the user experience.
-
Display doctors near the end user's current location. The app currently only displays doctors near central Glasgow.
-
Display 100 nearby doctors. The app currently only displays 20 doctors.
-
Add a list view of the doctors to be displayed alongside the map. Clicking on a doctor in the list should highlight the doctor on the map and vice versa.
Briefly answer the following questions (a few bullet points or high level answer):
-
From a technical perspective, what would you change in the current implementation of this app? What improvements would you make?
-
If you built this app from scratch, what tools would you use, and why?
-
What technology are you most excited about right now?
-
What is "good code" to you?
Briefly answer the following questions (a few bullet points or high level answer):
-
Given a user can find doctors nearby to their location, what other functionality would you add to the application to make it useful to real users?
-
As our user base grows, using Google's APIs will have an associated running cost. How could we reduce the number of API calls we are making to keep running costs low?