CSCE Capstone
Student Site for Individual and Collaborative Activites
Team 16 – Home Re:Stock
Description:
Home Re:Stock is a kickstarter project that is in need of software developers to create a robust and scalable backend server, as well as a visually appealing mobile application to interface with its current prototype device. The goal of Home Re:Stock is to provide users a more calculated and efficient means to keep their home stocked with necessary goods. The user will place a variety of affordable sensors around their homes, then register those sensors with the mobile application developed by this group. This application will communicate with the sensors through a backend server and allow the user to monitor and replenish goods in their home based on their specified preferences. Not only will this allow consumers more time to spend in meaningful ways, this could also provide a solution for those with disabilities to obtain their necessities in a more independent manner.
Although Home Re:Stock has provided us with a prototype sensor device, it will be our job as developers to try and improve the physical hardware, as well as write all of the software required to make the Home Re:Stock ecosystem fully functional. We will strive to utilize paradigms that offer the user consistent service, smooth and logical functionality, and persistence across multiple users and devices. With these points in mind, our overall goal is to deliver all of the required software that will help move Home Re:Stock out of its development phase and into production.
Deliverables
Capstone 1 |
Capstone 2 |
Presentation Presentation Slides Final Proposal |
Presentation Slides Final Report Poster Deliverables |
Tasks | Started on | Completed on | Contributor(s) |
User Interface Tasks | |||
Set up React development environment | 01/20/21 | 01/25/21 | Jackson |
Implement session variables (authContext) | 03/10/21 | 03/15/21 | Jackson |
Review / Create / Improve mockups | 01/26/21 | Continuous | All |
Implement app Header | 01/26/21 | 01/31/21 | Cody |
Implement standard styling sheet | 01/26/21 | Continuous | Cody |
Implement account creation screen | 01/26/21 | 02/26/21 | Cody |
Implement login screen | 01/26/21 | 02/26/21 | Cody |
Implement add product and assign product screens | 01/31/21 | 02/05/21 | Jackson |
Implement “Home” screen | 01/31/21 | 04/24/21 | Jackson |
Obtain Sensor Data from Backend | 04/01/21 | 04/24/21 | Jackson |
Implement single sensor view | 04/17/21 | 04/20/21 | Daniel |
Implement reset password process | 01/26/21 | 02/26/21 | Alex |
Implement new sensor setup | 03/02/21 | 03/31/21 | Sam |
Implement navigation tree | 03/02/21 | 03/05/21 | Jackson |
Implement Systems/Preferences screen | 03/08/21 | 04/19/21 | Alex |
Implement app Footer and assign to relevant screens | 03/08/21 | 04/19/21 | Alex |
Implement local storage | 04/20/21 | 04/21/21 | Daniel |
Implement quality of life features | 04/20/21 | 04/22/21 | Daniel |
Implement ‘Cart’ screen (Retailer related) | Future Work | ||
Implement ‘Quick Glance’ screen (Retailer related) | Future Work | ||
Backend / Server Tasks | |||
Set up development environment | 01/17/21 | 01/28/21 | Brandon |
Document user interface –> server routes | 01/20/21 | 01/28/21 | Daniel, Brandon |
Document sensor —> server routes | 01/20/21 | 01/28/21 | Daniel, Brandon |
Create skeleton routes for all required commands | 01/20/21 | 01/28/21 | Daniel, Brandon |
Figure out DB storage of sensor data | 02/04/21 | 02/04/21 | Brandon |
Implement sentry error logging | 02/23/21 | 02/23/21 | Brandon |
Implement input validation for all routes | 03/12/21 | 03/14/21 | Brandon |
Implement rolling data logging for sensors | 04/18/21 | 04/19/21 | Brandon |
Implement send email functionality | 02/03/21 | 02/04/21 | Daniel |
Implement create new account + email verification process | 01/20/21 | 01/20/21 | Daniel, Brandon |
Implement account login | 01/20/21 | 01/20/21 | Daniel |
Implement account deletion | 01/21/21 | 01/23/21 | Daniel, Brandon |
Implement sync user preferences (get) | 02/15/21 | 02/16/21 | Daniel, Brandon |
Implement change user preferences (post) | 02/15/21 | 02/16/21 | Daniel, Brandon |
Implement the ability to command a sensor | 02/03/21 | 02/04/21 | Brandon |
Implement password reset process | 02/12/21 | 02/14/21 | Daniel |
Implement retrieve sensor data | 02/05/21 | 02/06/21 | Brandon |
Implement retrieve all sensor data | 04/14/21 | 04/14/21 | Brandon |
Implement change sensor preferences | 04/20/21 | 04/20/21 | Brandon |
Implement retrieve HTTPS fingerprint | 01/25/21 | 01/27/21 | Daniel |
Implement provision sensor ID | 02/05/21 | 02/06/21 | Daniel, Brandon |
Implement sensor update status | 02/06/21 | 02/06/21 | Daniel |
Implement retrieve issued commands | 02/04/21 | 02/14/21 | Daniel, Brandon |
Retailer Integration | Future Work | ||
Sensor Hardware Tasks | |||
Make the sensor as thin as possible | 03/09/21 | 03/09/21 | Daniel |
Incorporate lid clips into the design | 03/10/21 | 03/11/21 | |
Design a small sensor variant | 03/23/21 | 03/24/21 | Daniel |
Design a medium sensor variant | 03/09/21 | 03/11/21 | Daniel |
Create a working prototype of one of the variants | 03/12/21 | 03/13/21 | Daniel |
Design a large sensor variant | Future Work | ||
Power draw analysis | Future Work | ||
Sensor Firmware Tasks | |||
Implement boot into setup vs standard operation mode | 01/28/21 | 01/30/21 | Daniel |
Implement temporary network creation during setup mode | 01/28/21 | 01/30/21 | Daniel |
Implement setup process | 01/30/21 | 02/02/21 | Daniel |
Figure out how to determine battery life and signal strength | 03/08/21 | 03/08/21 | Daniel |
Implement automatic normal operation functions | 02/26/21 | 02/28/21 | Daniel |
Implement forced operation functions | 03/11/21 | 03/13/21 | Daniel |