Derek’s Status Report for April 27, 2024

This week I worked on implementing the front end. Specifically, I worked on implementing probability of a bench being available using the predictions from our model. The end goal with this prediction data is to be able to integrate it with the Google Maps API to tell users the probability of a bench being available at the time of their arrival. This week I was able to display the probabilities for each hour. In the next week, I need to finish integrating the predictions with Google Maps. I also need to finalize the front end and make it cleaner and more user friendly.

Additionally, our team will be working on the final report this week. With this schedule, I should be on track to finish my part of the implementation and my team is on track to finish as well.

Derek’s Status Report for April 20, 2024

In the past two weeks, I have been working on refining the software for our system. The Advanced Python Library was having problems with scheduling function execution. I could not fully debug the problem with duplicate entries so I am currently working on writing a Python script that will clean the existing data by deleting duplicate entries. Additionally, I spent more time working on the front end. With Sid finishing the machine learning model, I was able to integrate the predictions into the front end. I added a bar chart that represented hourly occupancy levels for each day of the week.

My plan for this week is to finish implementing the front end. This would include finishing the Google Maps feature that tells users the occupancy at the time of their arrival. Additionally, we plan on adding a feature that will tell users the probability of a bench being vacant for each hour. Once Sid is able to complete the ML model for predicting bench occupancy, I plan on integrating these predictions into the front end as well.

Derek’s Status Report for April 6, 2024

This week, I worked on helping my team debug the sensors. The issue we had this week was with our bench sensor not collecting data properly. Our priority is to have enough data to train our machine learning model so I focused a lot of my effort into figuring out why it was not collecting data properly. The source of the issue had to do with the battery dying very quickly. I also had issues with how the backend was logging hourly data. Instead of logging only once an hour, it would log twice an hour with one entry having an occupancy value of 0.   I am currently working on a solution for this.  Additionally, there is a problem with resetting the people count each day which I am also working on.

In addition to debugging our system, I worked on adding to the front end of the app. Specifically, I worked on implementing the google maps API into the front end so that users are able to see how long it will take for them to get to the gym and how crowded it will be when they arrive.

I am currently slightly behind of schedule because of the problems we are having with our system. This week I plan on focusing all of my effort into debugging all of the software issues. I also plan on continuing to work on the front end.

Derek’s Status Report for March 30, 2024

 

This week, my team and I set up and tested our system at the gym and made sure everything was working correctly (sensors are able to detect in the gym, able to send information to the server, able to update the app live). Additionally, I ran into issues with how the server is storing the occupancy and bench data. I worked on debugging the storing of data and based on the preliminary data collected, we noticed that in the actual gym setting, the people counter may be buggy. Based on our data, we worked on tuning our sensors to be more robust. I also worked on the front end and added more past the basic functionalities of the app. 

With this update, I believe we are on the right track. Once we have collected more data, our plan is to work on how we can analyze the data to provide unique insights. Once our model is working, I also plan on testing data transmission between the machine that is hosting the model and our backend server. Additionally, I plan on further improving the usability of the mobile app while we collected data.

Our data after setting up this week:

Derek’s Status Report for March 23, 2024

This week I worked on testing the backend API. Last week I started initial testing on Postman and this week I tested the backend with both the NodeMCU and the Raspberry Pi. I also began implementing the frontend design for the mobile app. I set up a floor layout graphic that updates bench colors as it receives bench status updates from the backend as well as display for the gym occupancy.

This week I plan on working more on the frontend. I plan on implementing the google maps feature on our app. Additionally, I want to make the mobile app design more user friendly once the basic functionalities are established. Tomorrow our team is setting up the sensor system at the gym to begin collecting data.

I am on track with my tasks and believe that our team is on the right trajectory. 

Derek’s Status Report for March 16, 2024

This week, I finished the first implementation of the backend API. I also worked on writing code for the compute units on the sensor modules to be able to communicate with the backend. I mostly worked on testing and debugging the backend API by using Postman to send requests. Additionally, I changed the security settings and other parts of the AWS EC2 configuration to better fit our needs. I am on track with my schedule with my tasks. For our team, we plan on finishing up putting the sensor modules together tomorrow. Once the sensor modules are operational, the rest of the week I plan on testing communication between our sensor modules and our backend server.

Derek’s Status Report for March 9, 2024

Since the last status report, I have mostly worked with my team to finalize our design report which consisted of communicating about design details and helping my team figure out how we will put our different components together. For my own work, I created an AWS account and stood up an EC2 instance. Additionally, I began working on implementing the Flask API for our backend. First, I specified endpoints for requests to be sent to and began implementing the logic for how different requests should be handled. I also started reading up on the Flutter documentation so that I can begin implementing the frontend user interface. 

 

This week, I plan on finishing the backend API; I need to finish implementing the logic for handling requests on the server side and also implement the logic for sending requests to the server from both the mobile app and the computing units in the sensor modules. We are on schedule and want to have a simple implementation of our system up and running soon so that we can start collecting data. 

Derek’s Status Report for February 24, 2024

This week, I worked on specifying the details of the software implementation. More specifically, I decided on Flask to host our backend API and after further research, ditched MySQL as our database. I came to this decision because I realized that we did not need the database. Since historical occupancy data is only needed to make new predictions on occupancy, I plan on having a local machine (where our predictive model is) fetch occupancy data from the EC2 instance via hourly API call to Flask. This way, there is no need to query from the database and information can be directly sent to our local machine. 

 

In addition to finalizing the specific software tools we plan on using, I also specified how these different software components will communicate with each other. I plan on using WebSockets to establish a long-running connection between the mobile app and the EC2 instance to push occupancy updates to our mobile app in real-time via this connection. Finally, I created an app mock-up on Figma that I plan to follow closely when designing the actual app using Flutter. 

 

I think I am currently on track. Next week I want to start on implementation. My personal goal is to get our EC2 instance working and start learning how to use Flutter to design our mobile app. Within our team, I will work on writing up the software side of our design report and help my team finalize their parts of the design process.

 

Derek’s Status Report for February 17, 2024

This week I decided on specific components that we will be using for the software/mobile app part of our project. For the mobile app, I plan on using Flutter. Flutter is a good choice for our project because our mobile app will be relatively simple and Flutter provides ready-made widgets and high performance. Additionally, I decided on using an AWS EC2 instance to host the backend server. Since we need a way to store and manage data, I planned for us to use MySQL for our database. I chose MySQL because of its ease of use and performance; we want our system to be real-time so performance was a high priority aspect. MySQL is also an established database so there are a lot of resources and support available. 

I think I am on the right track right now since a lot of our group’s focus is currently on the hardware. However, for this week, I plan on doing more research on how to integrate all of the different software components together. Additionally, I want to create a mockup of the app on Figma. Aside from my personal deliverables, I plan on working on the design report with my group.

Derek’s Status Report for February 10, 2024

This week I did more research and specified more details of our project. I worked on creating the block diagram and preliminary user interface design for the proposal presentation. Additionally, I contacted the UC administration to schedule a meeting to discuss our project and request approval for camera usage and setting up our sensors in the gym space. I am on schedule and I plan on working with my team to specify more parts of our project. Specifically, I would like to research and decide on the web application framework for our mobile application. Finally, our team will be meeting with the UC administration this week.