@startuml
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.DeletePortfolio {
- UserRepository repository
+ void deletePortfolio(String)
}
class com.lermala.lookconstructor.mainapp.domain.logic.entity.models.Portfolio {
+ Map<String,PortfolioItem> portfolio_items
+ String name
+ String id
+ String image_id
+ void setId(String)
+ String getName()
+ String getId()
+ Map<String,PortfolioItem> getPortfolio_items()
+ void setPortfolio_items(Map<String,PortfolioItem>)
+ void setName(String)
+ String getImage_id()
+ void setImage_id(String)
}
class com.lermala.lookconstructor.mainapp.presentation.presenters.UserPresenter {
}
class com.lermala.lookconstructor.mainapp.presentation.ui.frags.PortfoliosListFragment {
~ MainPresenter presenter
- ListView listView
- GridView gridPortfolio
- FloatingActionButton fabAdd
- ImageButton btnChangeView
- int VIEW_OF_PORTFOLIO_LIST
- int VIEW_OF_PORTFOLIO_GRID
- int typeOfView
~ String TAG
+ {static} int IDM_DEL
+ {static} int IDM_EDIT
- String contextMenuClickedItemListId
+ View onCreateView(LayoutInflater,ViewGroup,Bundle)
- void init(View)
- void setAdapter(int)
+ FirebaseListAdapter getAdapterForPortfolio(Query)
- void design(View)
- void selectMenuItem()
- void doAlertForPortfolio(String,boolean)
+ void showMessage(String)
+ void onCreateContextMenu(ContextMenu,View,ContextMenu.ContextMenuInfo)
+ boolean onContextItemSelected(MenuItem)
- void setOnClickItem(AbsListView)
- void replaceFragment(Fragment,FragmentActivity)
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.GetPortfolio {
- UserRepository repository
+ Query getPortfolios()
}
class com.lermala.lookconstructor.mainapp.domain.logic.entity.models.User {
+ String id
+ Map<String,Portfolio> portfolios
+ String getId()
+ String getName()
+ String getB_date()
+ String getEmail()
+ String getImage_id()
+ Map<String,Portfolio> getPortfolios()
}
class com.lermala.lookconstructor.mainapp.domain.logic.AuthCases {
- AuthRepository authRepository
+ SignUpUser signUpUser(String,String)
+ SignInUser signInUser(String,String)
+ SignOutUser signOutUser()
+ IsAuthorized isAuthorized()
+ GetUID getUID()
}
class com.lermala.lookconstructor.mainapp.data.repository.UserRepositoryImpl {
- FbWork fbWork
+ void addPortfolio(Portfolio)
+ void addPortfolioWithName(String)
+ void deletePortfolio(String)
+ void editPortfolio(String,String)
+ Query getPortfolios()
+ void addPortfolioItem(String,String)
+ void deletePortfolioItem(String,String)
+ Query getPortfolioItems(String)
+ Query getUserInfo()
+ void editUserInfo(String,String)
}
class com.lermala.lookconstructor.mainapp.presentation.ui.LoginActivity {
- EditText edLogin
- Button btnRegister
- TextView tvUserEmail
- String TAG
- LoginPresenter presenter
# void onCreate(Bundle)
- void init()
+ void openMainActivity()
+ void onClickSignIn(View)
+ void onClickRegister(View)
+ void showMessage(String)
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.EditUserInfo {
- UserRepository repository
+ void editUserInfo(String,String)
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.auth.SignOutUser {
- AuthRepository repository
+ void signOut()
}
class com.lermala.lookconstructor.mainapp.presentation.ui.frags.PresentationFragment {
~ Button btnCreate
~ Button btnOpenImg
~ Button btPick
~ Button btSave
~ ImageView imgPres
+ View onCreateView(LayoutInflater,ViewGroup,Bundle)
- void design()
- void selectMenuItem()
- void init(View)
- void initRecycleView(View,ArrayList<Portfolio>)
- void initRecycleView2(View,ArrayList<Portfolio>)
}
class com.lermala.lookconstructor.mainapp.presentation.presenters.BasePresenter {
~ AuthCases authCases
~ UserCases userCases
+ void start()
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.DeletePortfolioItem {
- UserRepository repository
+ void deletePortfolioItem(String,String)
}
class com.lermala.lookconstructor.mainapp.presentation.presenters.MainPresenter {
+ void addPortfolioWithName(String)
+ void editPortfolio(String,String)
+ void deletePortfolio(String)
+ Query getAllPortfolios()
+ Query getAllItemsFor(String)
+ void deleteItem(String,String)
+ void addPhotoItem(String,String)
+ Query getUserData()
+ void signOut()
+ void changeUserData(String,String)
}
class com.lermala.lookconstructor.mainapp.data.storage.fbase.FbAuth {
- FirebaseAuth mAuth
- FirebaseUser curUser
- DatabaseReference usersRef
- String TAG
+ void updateUsers()
+ void updateCurrentUser()
+ boolean signUp(String,String)
+ boolean signIn(String,String)
+ void changeUserData(String,String)
+ void signOut()
+ FirebaseUser getCurUser()
+ String getUid()
- boolean sendEmailVerification()
+ FirebaseAuth getmAuth()
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.auth.SignUpUser {
- AuthRepository repository
- String login
- String password
+ boolean signUpByEmail()
}
class com.lermala.lookconstructor.mainapp.presentation.ui.MainActivity {
~ ActivityMainBinding binding
~ MainViewModel mainViewModel
~ ImageView btnBack
~ FragmentManager fragmentManager
# void onCreate(Bundle)
- void init()
- void goBack()
+ void onBackPressed()
+ void replaceFragment(Fragment)
}
class com.lermala.lookconstructor.mainapp.presentation.ui.MainViewModel {
- void init()
# void onCleared()
}
interface com.lermala.lookconstructor.mainapp.domain.logic.domain.AuthRepository {
~ boolean signUp(String,String)
~ boolean signIn(String,String)
~ boolean isAuthorized()
~ void signOut()
~ String getUid()
}
class com.lermala.lookconstructor.mainapp.data.storage.fbase.WorkWithFirebaseStorage {
- {static} String TAG
- {static} StorageReference mStorageRef
- {static} Uri uploadUri
+ {static} void init()
+ {static} boolean uploadImage(Bitmap)
+ {static} Uri getUploadUri()
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.AddPortfolio {
- UserRepository repository
+ void addPortfolio(Portfolio)
+ void addPortfolioWithName(String)
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.auth.IsAuthorized {
- AuthRepository repository
+ boolean IsAuthorized()
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.AddItemPortfolio {
- UserRepository repository
+ void addItemPortfolio(String,String)
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.GetItemsPortfolio {
- UserRepository repository
+ Query getAllFor(String)
}
class com.lermala.lookconstructor.mainapp.presentation.ui.frags.subfrags.PortfolioItemFragment {
~ MainPresenter presenter
~ String TAG
- GridView grdPortfolioItem
- FloatingActionButton fabAdd
~ String idPortfolio
+ {static} int IDM_DEL
+ {static} int IDM_EDIT
- String contextMenuClickedImageId
+ void onCreate(Bundle)
+ View onCreateView(LayoutInflater,ViewGroup,Bundle)
+ void showMessage(String)
- void init(View)
+ FirebaseListAdapter getAdapterToShowItems(Query)
- void design(View)
- void selectMenuItem()
+ void onCreateContextMenu(ContextMenu,View,ContextMenu.ContextMenuInfo)
+ boolean onContextItemSelected(MenuItem)
- void setOnClickImage()
+ void getImage()
- void replaceFragment(Fragment,FragmentActivity)
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.auth.SignInUser {
- AuthRepository repository
- String login
- String password
+ boolean signInWithEmail()
}
interface com.lermala.lookconstructor.mainapp.domain.logic.domain.UserRepository {
~ void addPortfolio(Portfolio)
~ void addPortfolioWithName(String)
~ void deletePortfolio(String)
~ void editPortfolio(String,String)
~ Query getPortfolios()
~ void addPortfolioItem(String,String)
~ void deletePortfolioItem(String,String)
~ Query getPortfolioItems(String)
~ Query getUserInfo()
~ void editUserInfo(String,String)
}
class com.lermala.lookconstructor.mainapp.data.storage.fbase.ConstantWorkWithFirebase {
+ {static} String USER_PORTFOLIOS
+ {static} String USER_IMAGES
+ {static} String USER_KEY
+ {static} String USER_NAME
+ {static} String USER_DATE
+ {static} String PORTFOLIO_NAME
}
class com.lermala.lookconstructor.mainapp.presentation.ui.Constant {
+ {static} String USER_NAME
+ {static} String USER_SEC_NAME
+ {static} String USER_EMAIL
+ {static} String USER_IMAGE_ID
+ {static} String PORTFOLIO_ID
+ {static} String PORTFOLIO_ITEM_IMAGE_ID
+ {static} String REQUEST_CODE
+ {static} String MESSAGE
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.auth.GetUID {
- AuthRepository repository
+ String getUid()
}
class com.lermala.lookconstructor.mainapp.data.storage.fbase.FbWork {
- DatabaseReference userRef
- DatabaseReference porfoliosRef
- String TAG
+ Query getPortfolios()
+ Query getPortfolioItemsForPortfolio(String)
+ void addPortfolio(Portfolio)
+ void addPortfolio(String)
+ void deletePortfolioFromDB(String)
+ void getPortfolioItemCount(String)
+ void deletePortfolioItemFromDB(String,String)
+ void deleteFileFromFirebase()
+ void addPortfolioItem(String,String)
+ void editPortfolio(String,String)
+ void changeUserData(String,String)
+ Query getUserInfo()
+ User getUser()
+ void saveUser(String,String,String,String,Map<String,Portfolio>)
}
class com.lermala.lookconstructor.mainapp.data.storage.fbase.FbWork.PortfolioHolder {
}
class com.lermala.lookconstructor.mainapp.presentation.presenters.LoginPresenter {
+ void initData()
+ boolean checkAuth()
+ boolean signUp(String,String)
+ boolean signIn(String,String)
}
class com.lermala.lookconstructor.mainapp.presentation.ui.PhotoLoadActivity {
~ MainPresenter presenter
- {static} String TAG
+ {static} int REQUEST_CODE_LOAD_IMAGE_TO_FB
+ {static} int REQUEST_CODE_LOAD_IMAGE_TO_PRESENTATION
~ Button btnChooseImage
~ ImageView imageView
~ ImageButton btnBack
- int request
- String idPortfolio
- {static} StorageReference mStorageRef
- Uri imageUriLocal
- Uri uploadUri
# void onCreate(Bundle)
- void init()
- void checkPermisson()
- void pickImage()
+ void onRequestPermissionsResult(int,String[],int[])
# void onActivityResult(int,int,Intent)
- void loadPresentationActivity(Uri)
- void getData2()
+ void getImage()
- void uploadImage()
- void addToDb()
# void lastonActivityResult(int,int,Intent)
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.GetUserInfo {
- UserRepository repository
+ Query getUserInfo()
}
class com.lermala.lookconstructor.mainapp.presentation.ui.frags.ProfileFragment {
~ MainPresenter presenter
~ EditText edName
~ Button btnSave
~ ComponentsHelper edDateHelper
+ void onCreate(Bundle)
+ View onCreateView(LayoutInflater,ViewGroup,Bundle)
- void init(View)
- void design()
- void selectMenuItem()
- void readUser()
+ void writeUserData(Query)
+ void onClickEdit()
+ void onClickCancel()
+ void showBtnsForEditing()
+ void showBtns()
- void disableEdTexts()
- void ableEdTexts()
+ void onClickSave()
+ void showMessage(String)
+ void onClickExit()
}
class com.lermala.lookconstructor.mainapp.domain.logic.entity.models.PortfolioItem {
+ String image_id
+ String getImage_id()
}
class com.lermala.lookconstructor.mainapp.data.repository.AuthRepositoryImpl {
~ FbAuth fbAuth
+ boolean signUp(String,String)
+ boolean signIn(String,String)
+ boolean isAuthorized()
+ void signOut()
+ String getUid()
+ String getStringUid()
}
class com.lermala.lookconstructor.mainapp.domain.logic.UserCases {
- UserRepository userRepository
+ GetPortfolio getPortfolios()
+ AddItemPortfolio addItemPortfolio()
+ AddPortfolio addPortfolio()
+ GetItemsPortfolio getItemsPortfolio()
+ DeletePortfolio deletePortfolio()
+ DeletePortfolioItem deletePortfolioItem()
+ EditPortfolio editPortfolio()
+ GetUserInfo getUserInfo()
+ EditUserInfo editUserInfo()
}
class com.lermala.lookconstructor.mainapp.domain.logic.usecases.user.EditPortfolio {
- UserRepository repository
+ void editPortfolio(String,String)
}
class com.lermala.lookconstructor.mainapp.data.storage.SharedPreferencesUserStorage {
}
class com.lermala.lookconstructor.mainapp.presentation.ui.frags.subfrags.DetailedImage {
~ String idImage
~ String TAG
~ RelativeLayout rl
~ LinearLayout btnsLay
~ ImageButton ic_back
~ TextView topTxt
~ BottomNavigationView bottomNavigationView
~ int black
- View v
+ void onCreate(Bundle)
+ View onCreateView(LayoutInflater,ViewGroup,Bundle)
- void init()
- void openDesign()
- void closeDesign()
+ void onResume()
+ void onDestroy()
+ void onDetach()
+ void onStop()
}


androidx.fragment.app.Fragment <|-- com.lermala.lookconstructor.mainapp.presentation.ui.frags.PortfoliosListFragment
com.lermala.lookconstructor.mainapp.domain.logic.domain.UserRepository <|.. com.lermala.lookconstructor.mainapp.data.repository.UserRepositoryImpl
androidx.appcompat.app.AppCompatActivity <|-- com.lermala.lookconstructor.mainapp.presentation.ui.LoginActivity
androidx.fragment.app.Fragment <|-- com.lermala.lookconstructor.mainapp.presentation.ui.frags.PresentationFragment
com.lermala.lookconstructor.mainapp.presentation.presenters.BasePresenter <|-- com.lermala.lookconstructor.mainapp.presentation.presenters.MainPresenter
androidx.appcompat.app.AppCompatActivity <|-- com.lermala.lookconstructor.mainapp.presentation.ui.MainActivity
androidx.lifecycle.ViewModel <|-- com.lermala.lookconstructor.mainapp.presentation.ui.MainViewModel
androidx.fragment.app.Fragment <|-- com.lermala.lookconstructor.mainapp.presentation.ui.frags.subfrags.PortfolioItemFragment
com.lermala.lookconstructor.mainapp.data.storage.fbase.FbWork +.. com.lermala.lookconstructor.mainapp.data.storage.fbase.FbWork.PortfolioHolder
com.lermala.lookconstructor.mainapp.data.storage.fbase.ViewHolder <|-- com.lermala.lookconstructor.mainapp.data.storage.fbase.FbWork.PortfolioHolder
com.lermala.lookconstructor.mainapp.presentation.presenters.BasePresenter <|-- com.lermala.lookconstructor.mainapp.presentation.presenters.LoginPresenter
androidx.appcompat.app.AppCompatActivity <|-- com.lermala.lookconstructor.mainapp.presentation.ui.PhotoLoadActivity
androidx.fragment.app.Fragment <|-- com.lermala.lookconstructor.mainapp.presentation.ui.frags.ProfileFragment
com.lermala.lookconstructor.mainapp.domain.logic.domain.AuthRepository <|.. com.lermala.lookconstructor.mainapp.data.repository.AuthRepositoryImpl
androidx.fragment.app.Fragment <|-- com.lermala.lookconstructor.mainapp.presentation.ui.frags.subfrags.DetailedImage
@enduml