This week I started off by first fixing async issues that I had with the data. When data was sent from the jetson to the web app, the chart wasn’t able to immediately display the data sent because the graph was being displayed before the data from the jetson was fully sent. In order to fix this issue, I had to rewrite some of the get data functions as well as data organizing functions so that they would wait for data to be fully sent before returning a value. In addition, I added a new setState variable to pass through the different functions so that I can reload the graph everytime the information has been updated.
Next, I implemented the week/day button so that clicking on either week or day would allow users to see the corresponding data for that time frame. This required me to write a new function that reorganizes the chart data by the days of the week, whereas before I only had data for every hour of the day. I also decided to use a different chart dependency for the graphs, because the original one that I was using cut off the numbers at the edges weirdly, and I wasn’t able to modify the look of the graph as easily as I wanted to.
Next, I started working on another page of the web app that displays a table of recyclable vs. non-recyclable items based off of Pittsburgh recycling laws. I was able to download the dependancy and display the chart with the necessary information, but I realized soon afterwards that the particular dependency that I used didn’t allow me to display multiple newlines of information within the same cell, so I want to do more research and find a different dependancy to use.
Finally, I also started working on the slides for the final presentation.
I believe that I am on schedule for the project. The remaining things that I need to implement are largely visual and aesthetic purposes, as well as extra things that would make users more engaged. I am a little bit worried about the mechanical part of our project, as we are still waiting on parts to arrive.
In the next week, I plan to start writing unit tests for the graphs and the context that I have implemented, as well as finish the recycling information table.
One thing that I learned from this project was how to use the react-native app. React native has a lot of helpful documentation for new users to use, including a step by step tutorial to starting the app. The react-native website was one of the most useful sources that I used when learning how to create the website. Online there is also a lot of articles about the best dependencies to use for different components of the app, and things to take into consideration. I also learned how to send information through different servers. I watched youtube tutorials to learn how to do this, and used several different articles to learn how to debug it, such as learning how to curl the json information.