Skip to content

Class Diagrams (DRAFT)

MeteDamar edited this page Mar 14, 2025 · 4 revisions

Market Listing Related Class Diagrams

classDiagram
    class MarketListing {
        -marketListingId String
        -foodEntryID Integer
        -price Double
        -stockQuantity Integer
        -description String
        -imageURL String
        -createdAt Date
        -lastModifiedAt Date
        
        +updateStock(quantity Integer) void
        +updatePrice(price Double) void
    }
    
    class Market {
        -marketID Integer
        -marketName String
        -marketOwnerID Integer
        -description String
        -location String
        -contact String
        -marketListings List~MarketListing~
        
        +addListing(listing MarketListing) void
        +removeListing(listingID Integer) void
        +getListingByID(listingID Integer): MarketListing
        +getListings() List~MarketListing~
    }
    
    Market "1" --> "*" MarketListing : has

Loading

Food Related Class Diagrams

classDiagram
    class FoodEntry {
        -String name
        -String category
        -float servingSize
        -float caloriesPerServing
        -float proteinContent
        -float fatContent
        -float carbohydrateContent
        -Set~String~ allergens
        -Set~String~ dietaryOptions
        -float nutritionScore
        -String imageUrl
        
        +FoodEntry(String name, String category)
        +FoodEntry(String name, String category, float servingSize, float calories, float protein, float fat, float carbs)
        +float calculateNutritionScore()
        +void updateNutritionalInfo(float calories, float protein, float fat, float carbs)
        +void updateServingSize(float servingSize)
        +void addAllergen(String allergen)
        +void removeAllergen(String allergen)
        +void addDietaryOption(String option)
        +void removeDietaryOption(String option)
        +boolean isDietCompatible(String dietType)
        +Set~String~ getAllCompatibleDiets()
        +boolean isAllergenFree(String allergen)
        +boolean isAllergenFree(Set~String~ allergens)
        +Map~String, Object~ getFullDetails()
    }
    
    class FoodCatalog {
        -List~FoodEntry~ foodItems
        -Map categorizedItems
        
        +void addFoodItem(FoodEntry item)
        +void removeFoodItem(FoodEntry item)
        +List~FoodEntry~ searchByName(String nameQuery)
        +List~FoodEntry~ filterByNutritionScore(float minScore)
        +List~FoodEntry~ filterByDietaryOption(String option)
        +List~FoodEntry~ filterByAllergenFree(Set~String~ allergens)
        +List~FoodEntry~ filterByCategory(String category)
        +FoodEntry getFoodItemById(String id)
        +List~FoodEntry~ getAllFoodItems()
    }
    
    FoodCatalog "1" o-- "many" FoodEntry : contains >
Loading

Recipe Related Class Diagrams

classDiagram
    class RecipeList {
        -recipes: List<Recipe>
        +RecipeList()
        +void addRecipe(Recipe recipe)
        +void removeRecipe(Integer recipeID)
        +Recipe findRecipe(String name)
        +void sortRecipesByPostDate()
        +void sortRecipesByCost()
        +void sortRecipesByNutritionScore()
        +void filterRecipesAllergens(String allergen)
        +void filterRecipesDietaryOptions(String dietaryOption)
        +void sortRecipesByCostToNutritionScoreRatio()
        +void listAllRecipes()
    }
    class Recipe {
        -recipeID: Integer
        -postDate: Date
        -name: String
        -ingredients: List<(FoodEntry,Amount)>
        -instructions: List<String>
        -servingSize: int
        -prepTime: int
        -cookTime: int
        -totalTime: int
        -nutritionScore: float
        -totalFatContent: float
        -totalProteinContent: float
        -totalCarbonhydrateContent: float
        -allergens: List<String>
        -dietaryOptions: List<String>
        -totalCalorie: int
        -imageUrl: String
        -videoUrl: String
        +Recipe(Integer recipeID, String name, List<(FoodEntry,Amount)> ingredients, String instructions, int prepTime, int cookTime, String imageUrl, String videoUrl)
        +int calculateTotalTime()
        +float calculateCost()
        +float calculateCostToNutritionRatio()
        +float calculateTotalFatContent()
        +float calculateTotalProteinContent()
        +float calculateTotalCarbonhydrateContent()
        +void changeServingSize()
        +List<String> getAllergens()
        +List<String> getDietaryOptions()
        +void changeMeasurementUnit()
        +void removeIngredient()
        +void addIngredient()
        +void displayRecipe()
    }

    

    RecipeList "1" *-- "*" Recipe: contains

Loading
Clone this wiki locally