Rose’s Status Report for 9/27

This week, I created the Figma mock-ups for the mobile app, expanding on the initial layout Elly developed last week, and used those designs as the basis for the app framework in Xcode. I now have the app running on my personal device in developer mode. For this, I learned the basics of SwiftUI, and I also explored how Apple’s Nearby Interaction framework can be integrated to support UWB-based tracking. I also began researching how to add a barcode-scanning feature, which will require using the phone’s camera and requesting the appropriate permissions.

My progress is on schedule and slightly ahead of plan. I have already started experimenting with the barcode-scanning functionality earlier than expected, having gotten camera permissions and am now preparing to find ways to have the app read barcodes.

By next week, we will be done with our design presentation and will have chosen all of our parts. I aim to have the barcode scanner working within the app and to complete a more detailed UI that incorporates all of the elements outlined in the Figma prototypes. Although the development of the Nearby Interaction feature depends on the arrival of the UWB module and Raspberry Pi, there is still plenty of mobile-app work to finish first, so this dependency is not a concern at this stage.

Figma Design:  https://www.figma.com/design/ilDMCTtHt1EF02QuBBTmXb/Basket-Buddy?node-id=0-1&t=qWuDfUQTPLnCH1fg-1

Mobile App: https://vimeo.com/1122556942?share=copy

Mobile App Repository: https://github.com/rosel26/basket-buddy

Rose’s Status Report for 9/20

This week, I focused on figuring out how we would implement our shopper tracking system. In particular, I researched how we could use Bluetooth and GPS-based location tracking within a mobile app environment. On the hardware side, I identified that we would need to connect a Bluetooth module, a GPS module, and a compass module to our chosen controller (the Raspberry Pi). On the software side, I explored how our mobile app would need to function as an IoT application, constantly collecting data from and sending data to connected devices. This included reviewing how IoT applications manage real-time communication, data flow, and maintain reliable connections

According to our Gantt chart, I’m on schedule. The goal for this week was to complete the proposal presentation and begin researching different mechanisms of our system to prepare for finalizing the design and ordering our hardware components – which I’ve done.

Next week, I plan to:

  • Experiment with existing IoT software platforms, including Blynk, to test Bluetooth connections (using components I already own).
  • Work with the team to research and select the specific hardware parts we need to order (Bluetooth, GPS, and compass modules).

Team Status Report for 9/20

Overall Progress

  • Created and presented our Project Proposal Presentation.
  • Researched more about hardware and software components 
  • Drafted a general layout of our project

Risks & Management 

We received a question during our proposal presentation asking what happens when the user is out of range. We have decided on the following steps:

  1.  The cart detects when the user is out of range → We decided that the maximum range the user can be away from the cart before it goes into a safety stop is 6 feet, but the cart should try to maintain a distance of 2 feet from the user. 
  2. If the user is outside of the six-foot range, the cart stops → User receives a phone notification that they left their cart behind and to return to within 6 feet of the cart
  3. To reinitialize the cart, the user must return to the six-foot range.

In addition to the cart having a safety stop when out of range, the mobile app will also have an option to manually stop the cart and manually resume the cart when the user is back within the six-foot range. This allows users to pause the cart while entering crowded areas where it might not be able to navigate, and resume cart operation upon exiting the crowded area. 

Another question we received is whether the cart’s route is mapped to a pre-determined grocery store layout:

  • We designed the cart to follow the user, so the route is not based on a predetermined grocery store layout. Ideally, the user should be able to use this cart in any grocery store.

Design Changes & Justification

  • We added new features to the mobile app based on questions from the proposal (explained above). This helps catch edge cases where there might be unexpected behaviour from the users and ensures safety for users and bystanders, and should not add any additional costs to the project.
  • Other than that, no major design changes were made to the system.