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 solve the issue of preoccupied college students having no viable platform to find creative recipes that fulfill their lack of resources with time, kitchen resources, cooking skills and access to grocery stores. With this, we aimed to create a functional site for users to discover new recipes or add them, along with finding ingredients and the vendors that sell them.
While working on this project, I took on the role of implementing the pages that lists both the ingredients and recipes that users can discover. To do this, I used a JSON file that partially contained some of the recipes and ingredients as the default data that would render when initially loading those pages, and essentially functions as our database. Logged-in users can add, delete, and edit recipes with different fields for the name, dietary restrictions, description, instructions, ingredients, as well as estimated portions. They may also filter the recipes to their own tastes with the dietary restrictions preferences tool, located at the top right-hand side of the recipes page. Users may also rate each recipe, and ratings are also included when viewing the listed recipes on their respective pages. A feature that remains in progress is one that allows those who browse the site to favorite a recipe which will then be added to their account.
Additionally, I worked on developing two other pages: About Us and This Week’s Picks. 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. 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 remains in-progress, though the ability to showcase the three recipes function as intended.
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, I was able to refine my JavaScript, CSS, React and Bootstrap capabilities as much of the application utilized these technologies. Embarking on this project was a valuable experience since it offered me a new perspective on a real-world application of what I have learned thus far about web development and software engineering. During this, I had the opportunity to have an environment that allowed for the cultivation of unique ideas to grow within our team setting.
By using an Agile Project Management methodology through GitHub projects as a Kanban Board for Issue Driven Project Management (IDPM), I learned how to complete deliverables within our timeline. Moreover, project experience provided a glimpse to the action behind-the-scenes of how teams may collaborate to complete a project in a real-world development scenario. Ultimately, it allowed me to develop interpersonal skills that are vital in professional project lifecycles and the technical know-how to build something that other people can interact with or use.