This week I focused on more backend development and full system integration as well as software testing. I worked on connecting the app with the backend device side flow so that schedule data, compartment assignments and device configurations can be transmitted correctly between the app and the esp32. We also began testing the system as an integrated app-backend-device pipeline.
For the software unit testing, i tested schedule management, compartment assignment, next-dose display, HTTPS communication and dose state logging. The completed tests so far show a 100% accuracy and I am planning to do the next set of tests this week like offline behavior, reconnection sync, and error notification. These are the last tests to do for software and depend more on full hardware software integration as well as end to end testing.
From the testing, one key finding was that the backend to device communication should stay minimal and structured so that the ESP32 receives only the configuration data it needs. Another finding was that the app logs and streaks should updated based on dose events and not just scheduled reminders. Based on this, i changed the design to separate scheduled dose display, confirmed dose logging and error state reporting. One difficulty we faced during integration was connecting ESP32 to Wifi. Since our school wifi uses individual login credentials and is not straightforward for embedded design connection, we had a lot of trouble getting a stable connection. To work around this, we tested our system using a personal hotspot so ESP32 and app could work on the same network with same name and password. This helped us continue integration testing and verify communication flow.
We have also decided to keep offline behvaior as a separate test category since the pillbox must support local reminders and scheduled dispensing even when the app is not synced.
Given that we have a week left till our final presentation, we need to focus the next couple days on thorough testing as well as human testing. We should be done in time if we keep up with out gantt chart.
