Week 3: First version of app

February 21, 2025

First version of app on phone

This week, I pushed the first version of the app to my phone. I implemented a start scanning feature, which listens for all devices outputting a signal and outputs to the phone screen. Then, a filter feature where it looks for a certain peripheral name, such as, in this case, BeaconL8, BeaconL2, BeaconL5, BeaconL13, BeaconL10.

Road Blocks

  • I was having trouble filtering by UUID, so I changed it to filter by peripheral name. This is not the most secure way, but it will work to continue development.

Images

hello world
Full list of bluetooth signals.
layout in figma
List filtered down to only the beacons for project.

Next Steps

Work on API to store beacon data, user data, etc...

  • I am using Node.js for creating a RESTful API that handles incoming beacon data from my iOS application
  • For the database, I am using MongoDB Atlas (cloud-hosted MongoDB) because:
  • Scalable for large amounts of time-series data (Beacons send out signal every 1 second)
  • Easy integration with Node.js through Mongoose
  • Reliable cloud storage for beacon readings
  • The beacon data structure includes:
  • Beacon name
  • RSSI (signal strength)
  • Timestamp
  • Manufacturer data