diff --git a/documentation/diagrammes/FinalDiagram.svg b/documentation/diagrammes/FinalDiagram.svg new file mode 100644 index 0000000..989f2df --- /dev/null +++ b/documentation/diagrammes/FinalDiagram.svg @@ -0,0 +1,2978 @@ + + +-owner : User-onRecipeCreated : Action<Recipe>+CreateRecipePage()-OnAddIngredientTapped()-OnAddStepTapped()-OnBackButtonClicked()-OnUploadRecipeClicked()CreateRecipePageShoopNCookServices-controller : RegisterController+RegisterPage()-LoginTapped()-RegisterTapped()RegisterPage-note : uint-isFavorite : bool-preferences : IAccountRecipesPreferences-info : RecipeInfo+StarCommand : ICommand+RecipePage()-SetNote()-OnFavorite()-OnSubmitReviewClicked()-OnAddToMyListClicked()-SetFavorite()-OnBackButtonClicked()RecipePage-clickCallback : Action-removeCallback : Action-recipeInfo : RecipeInfo+Note : float+Title : string+OwnedRecipeView()+IsViewing()-SetNote()-OnViewTapped()-OnRemoveButtonTapped()OwnedRecipeView-service : IRecipesService-account : Account+MyRecipesPage()-AddRecipeView()-RemoveRecipe()-OnBackButtonClicked()-OnAddRecipeButtonClicked()MyRecipesPage-preferences : IAccountRecipesPreferences-service : IRecipesService+MyListPage()-UpdateMyList()-ContentPage_NavigatedTo()MyListPage-controller : MorePageController+MorePage()-OnMyRecipesButtonTapped()-OnEditProfileButtonTapped()-OnLogoutButtonTapped()-OnShareButtonClicked()MorePage-controller : LoginController+LoginPage()-OnLoginButtonClicked()-ForgotPasswordTapped()-RegisterLabbelTapped()LoginPageLocalServices-account : Account-service : IRecipesService+FavoritesPage()-UpdateFavorites()-ContentPage_NavigatedTo()FavoritesPage-Endpoint : IEndpoint+App()+OnAccountConnected()+ForceLogin()AppData-db : IDatabase-accountsData : Dictionary<Account, AccountServices>+RecipesService()+PopularRecipes()+GetRecipe()+GetRecipesOf()+GetPreferencesOf()-GetOrInitData()RecipesService+Account : Account-ownedRecipes : Dictionary<Guid, Recipe>-db : IDatabase+AccountOwnedRecipes()+UploadRecipe()+RemoveRecipe()+GetAccountRecipes()AccountOwnedRecipes-Show()+Error()+Warn()+Notice()+Success()UserNotifier+ForceLogin()<<interface>>IAppControllers+OnAccountConnected()<<interface>>ConnectionObserver+PopularRecipes()+GetRecipe()+GetRecipesOf()+GetPreferencesOf()<<interface>>IRecipesService+AuthService : IAuthService+RecipesService : IRecipesService<<interface>>IEndpoint+Login()+Register()<<interface>>IAuthService+Account : Account+AddToFavorites()+RemoveFromFavorites()+SetReviewScore()+AddToWeeklyList()+GetRate()+GetFavorites()+GetRecommendedRecipes()+GetWeeklyList()<<interface>>IAccountRecipesPreferences+Account : Account+UploadRecipe()+RemoveRecipe()+GetAccountRecipes()<<interface>>IAccountOwnedRecipes-authService : IAuthService-recipesService : IRecipesService+AuthService : IAuthService+RecipesService : IRecipesService+LocalEndpoint()-PrepareDatabase()-MakeGuid()LocalEndpoint-db : IDatabase+AuthService()+Login()+Register()AuthService-db : IDatabase+Account : Account+AccountRecipesPreferences()+GetRecommendedRecipes()+GetFavorites()+GetWeeklyList()+GetRate()+AddToWeeklyList()+AddToFavorites()+RemoveFromFavorites()+SetReviewScore()AccountRecipesPreferences-RECIPES_FILENAME : string-USERS_FILENAME : string-ACCOUNTS_FILENAME : string-recipesData : Dictionary<Guid, RecipeData>-usersData : Dictionary<Guid, UserData>-accountsData : Dictionary<string, AccountData>-dbPath : string+CatastrophicPerformancesDatabase()+IsEmpty()+GetAccount()+InsertAccount()+GetRecipe()+GetRecipeRate()+InsertInUserList()+RemoveFromUserList()+InsertRecipe()+InsertUser()+InsertRate()+RemoveRecipe()+ListAllRecipes()+ListRatesOf()+GetRecipeListOf()-ConvertRecipeDataToRecipe()-Load< K, V >()-Save< K, T >()-WaitForFile()CatastrophicPerformancesDatabase-User : User+GetAccount()+GetRecipe()+GetRecipeListOf()+GetRecipeRate()+InsertAccount()+InsertInUserList()+InsertRate()+InsertRecipe()+InsertUser()+ListAllRecipes()+ListRatesOf()+RemoveFromUserList()+RemoveRecipe()StubDatabase+GetRecipe()+GetRecipeRate()+GetAccount()+InsertInUserList()+RemoveFromUserList()+InsertAccount()+InsertRecipe()+InsertUser()+InsertRate()+RemoveRecipe()+ListAllRecipes()+ListRatesOf()+GetRecipeListOf()<<interface>>IDatabase+Register()<<interface>>RegisterController-app : IApp-endpoint : IEndpoint-account : Account+MorePageController()+Logout()+GoToMyRecipesPage()+GoToProfilePage()MorePageController+Login()<<interface>>LoginController-observer : ConnectionObserver-accounts : IAuthService+ConnectionController()+Login()+Register()ConnectionControllerModels+Name : string+Amount : float+Ingredient()Ingredient+Name : string+Description : string+PreparationStep()PreparationStep+Info : RecipeInfo+Owner : User+Ingredients : ImmutableList<Ingredient>+Steps : ImmutableList<PreparationStep>+Recipe()Recipe-name : string-owner : User-callPerPers : uint-cookTimeMins : uint-image : Uri-ingredients : List<Ingredient>-steps : List<PreparationStep>+RecipeBuilder()+SetCallPerPers()+SetCookTimeMins()+SetImage()+AddIngredient()+AddStep()+Build()RecipeBuilder+IsFavorite : bool+Rate : uint+RecipeRate()RecipeRate+ProfilePicture : Uri+Name : string+Id : Guid+User()+Equals()+GetHashCode()User+Name : string+CalPerPers : uint+CookTimeMins : uint+Image : Uri+AverageNote : float+Id : Guid+RecipeInfo()RecipeInfo-User : User+Email : string+Account()Account-User-steps+Info+Steps-ingredients+Ingredients+RecipesService-owner+Owner+AuthService<<use>>-info<<use>>-owner<<use>>-recipeInfo<<use>>-recipesServices<<use>><<use>>-User<<use>>-authService<<use>>-db<<use>>+ account<<use>>-db<<use>>-db<<use>>-db<<use>>+account<<use>>+account<<use>>+ account<<use>>-account<<use>>-service<<use>>-preferences<<use>>-service<<use>>-preferences<<use>>-service<<use>>-account<<use>>-endpoint<<use>>-controller<<use>>-accounts<<use>>-observer<<use>>-account<<use>>-app<<use>>- endpoint<<use>>- controller<<use>>-controller