Imported from HackerEarth - Awards

Best Use of
Forth Place Overall


For the Halloween-Themed KentHackEnough2018, the goal of the project was to make something that made Trick-or-Treating easier for kids and parents. Three biggest issues that were determined was finding out if a house still had treats (is something like a bowl was left out), determining what treats each house had so kids could maximize their time getting treats they wanted (king sized) without getting treats they didn't, and determining if the treats the house had were allergy friendly for the parents.

What it does

Treats Without Tricks is based on the concept of crowd sourcing map data (similar to Waze). However, instead of getting traffic related data, trick-or-treaters, parent, and the houses offering their candy can add an entry to the map. From there, the map is filterable by which types of treats the house offers, so people can easily get just the information they are looking for. In addition, all entries are searchable, so users can search for addresses in addition to map points.

How we built it

The database is powered by Google Firebase, which records all of the different map locations for further reference. There are two main sections to the database: the locations section where each geopoint gets a unique id and contains all of the associated information about that point (the candy, the dates data was submitted, the address, etc.); and the dates section which shows when each point was last updated. The map itself, along with the address to geopoint conversion is all handled using the API, and is called to update every time that year's date database entry updates. In addition, historical data is available for users to look at in advance, so they can see trends over time as more data is added to the database. As for the front end, everything is built using Bootstrap, HTML, CSS, and JavaScript.

Challenges we ran into

One of the biggest issues we had was with the asynchronous nature of the Firebase queries. In the past, it was enough to simply code the display functions into the callback of the Firebase query, and information displayed on the HTML web page when the query completed. Here, however, the use of the API meant that the information we needed needed to be returned to another function. To solve this, JavaScript promises were used, but it took a while to set up and figure out.

Accomplishments that we're proud of

The main thing that we were proud of was we got all of the features we planned on implementing working by the time of the demo. This was most of the team's second or third hackathon, and so it was a big accomplishment for all of us that we could demo all of the components that we had planned.

What we learned

Overall, we learned a lot more about all of the different technologies that were used, from learning any of the API, to learning about promises in JavaScript in relation to Firebase, to the more advanced uses of Bootstrap and how data (particularly forms) could be displayed.

What's next for Treats without Tricks

Unlike most hackathon projects where the next step is to finish adding the planned features, the next part of Treats Without Tricks is likely user testing and based on that making improvements and new features as suggested from those using the software.

Share this project: