
I had the opportunity this semester to join with eight other students, most of whom I did not know, to create a web application. The requirements were for a Food Inventory application that would track multiple physical addresses, locations, and the food storage areas within each. Within each storage area, the user would associate numerous instances of food items. Storage areas could include refrigerators, Freezers, Pantries, and Spice Racks, among others.
Now, I am not a front-end developer, and I have a love/hate relationship with Cascading Style Sheets. I can build serviceable user interfaces, but not ones with a wow factor. I took it upon myself to develop a site map and data model. I then implemented Create/Read/Update/Delete (CRUD) functionality for all database objects. Then, I created advanced programming interfaces (APIs) to enable the frontend to dynamically request data from the backend. While learning React, I created reusable components that could be plugged into other pages. I also set up the Continuous Integration (CI) toolchain, while one of my compatriots set up the Continuous Deployment (CD) toolchain on Heroku.
Working with the other students was wonderful and maddening. Some had been out in the real world as interns, so they knew how to work as part of a team. They understood the requirements, were able to adjust to help others, and focused on what was important to get the job done. Without them, I would have been herding cats. Salina Thongsisavath was an exceptional teammate. She really spearheaded project management, allowing me to focus on the technical aspects of managing the project.
I thoroughly enjoyed my time in the class. Learning more about Node, React, Prisma, and the other technologies we used was very valuable. The class was well structured and organized. The expectations were clear and achievable.