What it does

Our program uses a pinpoint address as a starting point and locates all businesses with a 0-50km radius of the pinpoint address. Business can be filtered using keywords and we return business data such as Name, Address,Phone #, Website, Open or Closed, Photos of the business and Tags of the business. We then display all this information in a comprehensive and easy-to-use dashboard which gives the user a clear sense of what the business landscape is in any area in Canada.

How we built the software

To build our solution we included Node.js, Express and React in our technology stack. We used Node.js to create the backend and Google Maps API’s to access relevant data for the user. Express was used to route the backend to the front end with easy to use web server endpoints. Then we used React to build the front end.

Challenges we ran into

The first major challenge was learning how to integrate Google Maps Javascript API and Google Places API together. Many of the input parameters required nested API calls to get the correct input type. For example in order to run a placesSearch API request using an address that the user inputs, we needed to convert that address to geo location using a geocode API request which adds a new level of complexity and this occurs a multitude of times. Another challenge we ran into was including multiple keywords in an API call when the API parameters only accept one keyword at a time. To do this we ran the request recursively until we reached the end of a keyword list and returned an array of JSON objects. Our final challenge was deployment due to issues with figuring out cloud hosting. We fixed this by figuring out cloud hosting with lots of research.

Accomplishments that we're proud of

We originally intended this project to only return information on Greenhouse/Agricultural business in the Windsor/Essex area. However, we have expanded our capabilities to include any business in Canada. This makes our directory extremely versatile for data collection and analytics. The multi key-word search allows a client/user to access and search for more than just agricultural businesses, or restaurants.

What we learned

In addition to learning how to connect the front-end and back-end, we learned how to set up an express router, how to query and request data from Google APIs and how to deploy a web application.

What's next for RadialBD

In the future of Radial Business Directory we plan to add international support and web scraping to gather specific details on each business not available directly through Google Maps.

Share this project: