Janet’s Status Report for 3/27

This week, I worked on setting up our web application in Django, building layouts for the pages, creating models in the database for our user Profiles, Items, and Events, and setting up the infrastructure for connection to the RPi Zero. All of routing and navigation is completed, and the two main areas of focus left on the web app are the scheduling and the connection with the RPi Zero via the Web Bluetooth API. Our new repository is now set up here.

We are currently using native Django models for our web application to meet our MVP goal for the interim demo, but plan to use databases on AWS before the final demo for scalability.

Since the last status update, our team has agreed on developing a web app rather than a native Android app, for the advantages stated before:

  1. Ease of development between the three team members
  2. Product no longer excludes users without Android phones
  3. Accessibility via other platforms, such as laptops and tablets

Since our current focus is preparing the MVP of our project for the interim demo (week of 4/11), we wanted a route that would help optimize our development time as quickly as possible. Additionally, any concerns of loss of functionality in a web app vs. a native app can be easily mitigated. Our current plan is to create the web app with full functionality, however, if we run into issues with persistency or Bluetooth tasks, one mitigation we’ve planned is to create a bare native Android app (in Android Studio with Kotlin, as previously planned) to handle native functionality, but using the interface of our web app through a WebView, which allows you to deliver web applications as part of a client application.

While developing, I also ran into the question of how our project will be used in actual use cases, specifically with the RPi Zero. Currently, multiple users can create accounts on the web application, but this requires our web application to assume that each user has their own backpack device (aka the RPi Zero).  However, our team is currently only testing with one RPi Zero (and this will be reflected in the demos as well). I decided to include the UUID field of an RPi Zero as a required attribute for each user Profile on our web application, as this would be required if Backpack Buddy were a commercial product.

My progress is currently on schedule.

In the next week, I hope to have the interface completed for the schedule creation and the onboarding (registration) process implemented, in preparation for integration with Joon’s component (item recognition). I’ll also be working together with Aaron on integrating the RPi Zero with the web app’s interface.

Leave a Reply

Your email address will not be published. Required fields are marked *