Wait times have always been a pain, and we thought that Oynx beacon is a great way to give users an accurate reading of how wait times are changing - real time. We have an Android and iOS app, and a web portal for users to see wait times as well.
What it does
When a user opens our application, it will connect to the beacons and determine whether you are in line or not in line. After going to the database, it will determine how many phones are connected to the beacons and use that as well as average wait time per person to calculate the wait time individualized for you.
How I built it
In Android, we used AltBeacon in order to connect to the beacon, and in iOS we used iBeacon. Both of these helped us connect to the beacons and determine proximity from the beacon to our phones using bluetooth. Then, we connected those values to our database, did some calculations for wait time, and returned the wait times to the apps as well as the web portal.
Challenges I ran into
Find an API or a framework that would support beacons was extremely tough. Oynx Beacon doesn't have much documentation, and we had to find third-party APIs to connect to the beacon.
Accomplishments that I'm proud of
Being able to connect to the beacon and accurately updating values real-time (refreshes every 1.1 seconds) and uploading to firebase only if a significant change was noted is significant.
What I learned
We learned how to use beacons and also raw data that the beacons return, as well as using the Google Maps API in order to show the user an accurate location of the places.
What's next for Locus Location
Locus Location will work to incorporate statistics to create more accurate readings based on collecting data, graphing it using linear regression, and being able to make predictions based on the constants calculated.
We want to make Locus Location more accurate and a viable, realtime solution to lines and wait times.