The motto since the start of the pandemic posted on social media throughout the web has been "Support small businesses!" We wanted to take part in that movement and help small businesses by giving them a tool to help their customer base.
What it does
The Android app uses the Google Maps API to track our precise locations and the places around it, to recommend an alternative to a large food chain restaurant. You can also input your precise location and our app will provide a list of alternatives, and our app will keep track of the small businesses you've visited so you remember and revisit.
How we built it
For the front-end side of the application, I initially made an activity to ask the user for permission for location access, then that lead to a MapActivity that included options to input a different location. From there, after reaching your location and clicking the button to find restaurants, I brought the user to a new RecyclerView of all of the nearby restaurants.
To access the nearby information about places and local searches, we used the Google Cloud API. Specifically, the Maps SDK, Places SDK, and Places API. The Places SDK was used to get the nearest business and verify that it is a restaurant. The Places API was then to search for similar businesses near our location.
For the back-end side of the application we used a mongodb database and heroku to host our back-end webservice. Utilizing https requests in java we were able to GET and POST information to the our server and database.
To determine if a business was considered "small" or not, we found info about the largest 250 restaurants in the US. We then (by hand) created a generic search for each of these businesses that would bring up similar results. We then filtered out any businesses that were not considered small by our criteria.
Challenges we ran into
Using Android Studio for the first time Figuring out Flutter Learning the Places API
Accomplishments that we're proud of
Building a functional app that captured our intentions and goals for the project.
What we learned
Working on a project through Git and making efficient usage of commit messages and pushes, learning how to create a fully-fledged Android App, and using mongodb and heroku to host our back-end database.
What's next for SmallBusinessFinder
Fully fleshing out the UI for our History view, allowing the user to access a RecyclerView that contains all of small businesses visited. Updating our recommendation view to include more information about each local small business.