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


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