Small businesses rely on the support of locals to stay afloat. However, even with local support, many of these businesses may not be able to keep up with all of the necessary fees they need to stay in business.
When people travel to new places, they are often drawn toward places that are well known, have the best reviews, or are recommended by others who have traveled through the area.
This got us thinking.
What if tourists could get past all of the tourist traps and get the best experience from local hidden gems? This would not only be a great way for travelers to discover the best from the local tastes, but it would also bring attention to small businesses that could benefit from tourism, which already has a huge impact on the larger economy.
Our application aims to fill this need.
The Block is a restaurant review web application that emphasizes local opinion and directs travelers towards the best local spots. In The Block, reviews can only be made by locals, who can rate and review their favorite local restaurants to recommend to others who might be passing by, or other locals looking for something new.
What is The Block?
The Block is a restaurant review web application that highlights local businesses.
Here’s how it works.
When a user registers, they set their home city to which they are local. Users are then able to leave reviews for restaurants within their city.
Users can see reviews from anywhere, even their home city. When they travel to another place, they are able to look up reviews from locals in that area to see what small or local businesses are on the block locals are raving about.
Users are able to update their settings at any time.
How The Block was built
The Block was built by a team of all beginner hackers and all computer science majors.
The Block was designed with a user-centered need in mind and a lot of ideas that would need more time to be implemented. We drew up a quick mock-up in Figma, having the features of an MVP in mind given the time constraints.
Given that this is only our first/second hackathon for all members, we used technologies that we had used before and were comfortable with. The frontend was built using react-native and Node.js. For the backend, we used Firestore as our database to store user and restaurant information and the Google Cloud Places and Maps APIs to gather data for the restaurants.
Challenges we ran into
Our original intention was for our product to be a mobile app that people could use on the go to find and review local restaurants. A few of us have worked in React Native before and this was going to be our language of choice until we realized that we might not be able to accomplish as much in the short amount of time that we have. Bearing this in mind, we switched to a web-based application to better tackle the time constraint. This gave us a learning curve to figure out how to code in React, but with some hard work and determination, we’re pretty happy with how our product turned out.
The greatest challenge we faced on the backend was figuring out how we would populate an array with the data we retrieved from the APIs. Our original for loop would move onto the next iteration without waiting for the API call to finish and retrieve the data we needed. We struggled for a while to figure out how to have the for loop wait for the data before moving on. After receiving some mentorship, we were able to fix this problem using a helper function and calling promise.all().
Accomplishments that we're proud of
We learned a lot during this hackathon, but we are most proud that we learned about APIs and how to use them to implement different features on our app.
What we learned
Hackathons are fun but they’re even more fun when you create a cool project with friends :)
What's next for The Block
When we first thought about what The Block could be, we had a thousand different ideas for features that would make our app stand out and actually be useful. If we were to continue this project, we would first want to bring it to a mobile platform so that users can leave and view reviews on the go. We would work to improve app usability by including things like more search filters, algorithms to display the best restaurants according to locals, and the ability to be a local to more than one city, which may be true for some.
In addition to these technological upgrades, we would want to expand our app to include other businesses, not just restaurants, because while food is a big aspect of tourism, there are many businesses that should also be highlighted for nonlocals to visit.
Try it out
While our application is not currently deployed anywhere, you can try it out by cloning into our frontend and backend Github repositories and then running npm install and npm start in each repository simultaneously.
Note: you will need to have node.js installed to run these programs.