tp

Kim Gyurim’s Project Portfolio Page

Project: PantryPal

Overview

PantryPal is an all-in-one application designed to help students manage their meals. The application allows users to keep track of their ingredients, automatically generate shopping lists, plan their meals, and store recipes.


Code Contributed

Ingredient Inventory Feature:

I contributed to all the code related to the Ingredient Inventory feature, which includes both core functionality and testing. This includes:

I made sure all components worked smoothly together with the rest of the project, ensuring modularity and coherence across the entire application.

Unit Enumeration Enhancement

What it does:
Introduces a standardized enumeration for units (e.g., ML, GRAM, KG, LITRE), allowing consistent and validated unit usage throughout the Ingredient Inventory system.

Why it is implemented that way:
Enumerations reduce the risk of invalid or inconsistent unit strings, simplify unit-related operations (like conversion), and improve code readability and maintainability.

Highlights:


Unit Conversion Feature

What it does:
Implements a system to convert between specific units: milligrams (mg), grams (g), and kilograms (kg); milliliters (ml) and liters (l); and cups, ounces, and pounds. This enables consistent quantity management and user flexibility.

Why it is implemented that way:
To ensure accurate conversions and flexibility when users input or update ingredients using these common unit categories, allowing smooth conversions within each unit type.

Highlights:


Category Enumeration

What it does:
Defines a fixed list of ingredient categories (e.g. Dairy, Spice, Condiments) through an enumeration, ensuring consistent categorization across the system.

Why it is implemented that way:
Using an enumerator enforces a fixed unit category, improving filtering, user input validation, and display consistency.

Highlights:


View Ingredients by Category

What it does:
Allows users to filter and display ingredients based on their assigned category.

Why it is implemented that way:
To improve usability by letting users quickly find and manage ingredients belonging to a specific group, especially useful in large inventories.

Highlights:


Documentation Updates

User Guide:

Developer Guide:

Project Management