# Class diagram ```mermaid classDiagram class CustomerSystem { } RecipeSystem o-- AdminSystem OrderSystem "1" -- "0..*" Shop OrderSystem "1" -- "0..*" Order OrderSystem -- Cart OrderSystem -- RecipeSystem OrderSystem "0.1" -- "1" CustomerSystem Shop "1" -- "0.*" Cook Shop "1" -- "0.*" Order Shop "0.*" -- "1" Schedule Shop "0.*" -- "1" AdminSystem Order "0.*" -- "1" Cook Order "0.1" -- "1" Cart Cart -- RecipeCount RecipeCount -- Recipe Recipe "0.*" -- "1.*" Ingredient Recipe "0.*" -- "1" RecipeSystem Shop "" -- "" AdminSystem Ingredient "0.*" -- "1.*" IngredientEnum: is one of UserAccount "1" -- "*" Order: has history AccountSystem "1" -- "*" UserAccount: contains Cook "1" -- "1" Schedule: has CustomerSystem -- AccountSystem class Shop { setSchedule() checkSchedule(): boolean +getCookieList() +takeNextOrder() } class Schedule { } class RecipeSystem { -maximumIngredients: Integer +createRecipe() +deleteRecipe() +addRecipeIngredient() +isRecipeExist() } class Ingredient { -price: Integer } class OrderSystem { +createOrder() +getPaymentValidation() +getFormList() +getFormsOfUser(account) +cancelOrder() +removeOrder() +isOrderExist(orderId) +getOrderCancelCount() +pickupOrder(orderID) } class Order { -id: Integer +getInformations() +isOrderStarted() +getOrderStatus() +getLocation() } class Cart { totalPrice: Integer +addCookie() +delCookie() } class UserAccount { -id: Integer -firstName: String -lastName: String -email: String -password: String +setAccountInformations() +isPasswordValid() } class AccountSystem { +createAccount() +isAccountInformationsValid() +isAccountExist() +login() +getAccount() } class Recipe { -id: Integer -price: Integer +addIngredient() +showTheRecipe() } ```