Toaster Eats! was a team effort of contributions between myself and four other members within our ICS 314 course at the University of Hawaii at Mānoa. The web application was designed to suit the needs of busy college students to navigate creative, tasty, time-saving recipes that fit their limited resources and hectic schedules. Given this issue, we aimed to create a platform for students to discover and or add new recipes, along with finding ingredients and the vendors that sell them.
While working on this project, I implemented the pages that lists both the ingredients and recipes that users view. To seed the database to start, I used a .json file that contained some recipes and ingredients as the default data that rendered when initially loading those pages. Logged-in users can add, delete, and edit recipes with appropriate fields for name, dietary restrictions, description, instructions, ingredients, as well as estimated portions. Users can also sort through the recipes with a dietary restrictions filter option, located at the top right-hand side of the recipes page. Members may rate each recipe out of five stars, with ratings being visible on the recipes page and for an individual recipe’s page.
I also worked on developing two other pages. The About Us page is self-explanatory, allowing users to gain a better sense of the purpose that the web application provides and what features are available. The This Week’s Picks page displays three unique recipes that are curated from the database depending on their popularity from a particular week. This latter feature was not fully implemented, though the ability to showcase the three recipes function as intended. Another feature we planned but did not have time to implement was the ability to favorite a recipe which would then be listed in a person’s profile page under a favorites tab.
A GitHub.io page detailing more information regarding our team’s project overview, user guide, and development history can be found here.
Along the way, this entire experience improved my skills with using JavaScript, CSS, React.js and Bootstrap. This project offered me valuable insights into a wider lens and understanding of real-world applications for software engineering and web development. During this, I was fortunately given the opportunity to have a team environment that encouraged differing perspectives and ideas which allowed us to deliver a more comprehensive end result.
Using an Agile Project Management methodology through GitHub projects as a Kanban Board for Issue Driven Project Management (IDPM) made me learn how to complete deliverables within our timeline. Moreover, the endeavors for project completion provided a glimpse into the action behind-the-scenes of how teams collaborate for delivering a product in a real-world development scenario. Ultimately, it allowed me to develop interpersonal skills that are important in professional project lifecycles and the technical know-how to build software solutions for problems that contribute to providing convenience, functionality, and ease of use.