As week 8 is winding down, we are beginning to move away from full scale web app development and focus more on documenting are code for the future. Langston is finishing detailed data entry, allowing the user to enter forms at the shipment, lot, and container level that will track various variables like cut and color. Julia and Austin are finishing the advanced data lookup pages, and we are all in the process of commenting the code that we have written. Mark just received labels for the barcode printer and is looking forward to seeing how the web app will interact with the barcode printer. He is hopeful that there will not be too much involved in setting the printer up, and that soon we will be printing barcodes for some dummy shipments and scanning them through various checkpoints. Ideally, we could run through such a test in our week 9 meeting.
In the final week and a half of the quarter the team wants to ensure that all of our documentation is up to date, emphasizing the operations manual and our code. To do this, we are planning an iterative process for our comments on our code, reviewing each other’s comments to ensure that they are comprehensive and cohesive. Similarly, we plan to revamp our operations manual to reflect our progress in the web app, understanding that a good operations manual is crucial to the deployment of our product. Fortunately, we have received constructive feedback that we expect to be instrumental in creating a final, polished document. We are optimistic that by quarter’s end, having completed these documents, we will have a viable beta version of our product. It will certainly have bugs, but we hope that it will be mostly operational and understandable for our target users.
Since last time, our team has been moving quickly to implement the changes to the web app to incorporate lots and containers as well as give the user the ability to enter finer tuned data in forms. Langston has been working hard on creating the forms pages and has a very nice template set up for a general form that enters the data into Firebase in a convenient way for storage. He is optimistic that by the end of Week 8 he will have this functionality complete. In the meantime, Austin and Julia have been working on how data display will be incorporated for the lots and containers. Austin has made serious headway on creating a kind of nested table that expands upon clicking on a given field, to allow users to control what is on the display for a given container.
Mark has been working on lot and container barcode creation for entry into the database. As of right now the system is set up to aggregate a set of shipments entered by the user into one lot that contains the ‘id’ and farm for each shipment within the database. There is also the possibility of adding form information for each lot to be included in the database. Containers are similar in that they are an aggregation of lots and also upon creation are entered into the database. As of right now, we have functions to enter and retrieve lots to and from the database and a function to enter containers. Julia is working on creating a function to retrieve containers for data lookup.
In the coming weeks, we will be working on finishing up the development projects we are currently working on and start commenting the code we have created. Austin has created a template for good comments that we will employ as we create our documentation for next year’s team. Additionally, we will be creating a higher-level version of documentation in the form of a README document to give users a better idea of how to use the webapp. In terms of printing, we were unable to purchase labels from a store due to COVID-19, so we ordered labels that we hope will arrive shortly for us to run some tests before the end of the quarter. In short, we are very excited with where things are going this quarter and look forward to delivering a working prototype by the end of the quarter.
Since last time we posted, we have finally reached the point where we have basic functionality developed for processing one shipment. In other words, we can generate a barcode for a shipment from a particular farm and enter this barcode and farm information into the database. After creating the shipment in the database, we can then add additional information about when the shipment entered certain checkpoints and we can look up all of this data for a particular shipment to be displayed on the GUI. With this basic functionality outlined, Austin sent Charles a link to our web app, so that he could play around with the site, ask us questions, and offer suggestions. After a couple days looking at the site, Charles sent us an email with information from several forms, highlighting key statistics that he would like to incorporate into the web app. We will be working towards including these statistics in our advanced data entry page in the next couple of weeks.
After figuring out how to render barcodes for immediate printing, upon generating the unique codes, we put together a team presentation of our progress for the midterm check-in. This was a great opportunity for us to hear feedback from our peers and see where we could improve. Since then, Langston has also implemented a system for error-checking that integrates nicely with the UI. Finally, in the last couple days, we were able to order a barcode printer and are looking forward to seeing how to integrate this hardware with the existing web app.
In the next few weeks, we have several tasks ahead of us. The major backend task is to begin building out the structure of the database to accommodate the changes Charles outlined for us: namely the use of lots and containers and the storage of forms for these lots. On the front end we need to figure out how to display advanced statistics and how to generate barcodes for lots that contain a set of shipments. Finally, we will need to hook up the printer once it arrives. In terms of web app development, we do not anticipate too many challenges as most of the functionality outlined above is just an extension of what we have already built. As we near the close of the quarter, we look forward to delivering a finished product.
This week we got to see the project really start coming together. With Austin’s page for navigation, we were able to combine barcode generation and fast data entry together on the same web app, enabling users to move from one page to the other smoothly. Additionally, we had the opportunity to connect with our partner and discuss the future of the project. Charles from Zorzal gave us valuable information in terms of what he envisioned the site looking like in the future. In particular he gave us an idea of what statistics he would need for the advanced data entry page where we enter more fine-grain data into the database for storage. He also discussed what aggregate statistics he would like to see incorporated into the website like the overall quality of a container of beans. We were happy to hear that these were the aggregate statistics that most interested him as they would be easier to implement than statistics that related to all entries in the database.
Charles also mentioned the possibility of Zorzal employees attempting a remote deployment of our project despite quarantine currently preventing us from traveling. This means that we are resuming full-scale development on the logistical side of this project. We are looking into ordering printing hardware for ourselves and potentially Zorzal as the project progresses. Currently, we are also trying to setup interviews with Zorzal employees, looking at ways to deal with the language barrier during these interviews.
Looking forward we are hoping to have printing capabilities established in the next week while we put together some more of the functionality of the web app. This includes extending our existing functionality to accommodate some of the finer points discussed during out meeting with Zorzal this week as well as cleaning up the overall code and design of the site.