-
Notifications
You must be signed in to change notification settings - Fork 0
Ajapaik flutter app diagram
@startuml
floating note: Source code: https://github.com/Ajapaik/ajapaik_flutter_app/wiki/Ajapaik-flutter-app-diagram
title Ajapaik Flutter App 24.7.2022
start
partition #lightGreen main.dart {
:Main;
:InitDeeplinks;
:OAUTH login handler;
:GetMaterialApp;
split
:localization;
partition #lightblue localization.dart {
:load i18n translations;
}
detach
split again
:Open default album;
end split
}
partition #lightGreen albumlist.dart {
label albumlist
repeat :AlbumList;
:buttons/gestures;
split
partition #lightblue projectlist.dart {
:Projectlist;
}
:return AlbumList;
detach
split again
partition #lightblue localfileselect.dart {
:pick own photo from gallery;
}
:go to Camera;
detach
split again
partition #lightblue login.dart {
:login;
}
detach
split again
:toggle texts on/off;
detach
split again
repeat
backward:pull-down-refresh;
:keyword filter;
:location filter;
:load geojson album;
:show imagelist;
repeat while (selected item) is (none)
end split
repeat while (selected item is) is (album) not (photo)
}
repeat
repeat
partition #lightGreen photoview.dart {
:PhotoView;
split
:historical photo;
:onclick;
partition #lightblue fullscreenimageview.dart {
:Fullscreen image viewer;
}
detach
split again;
if (number of rephotos) then (>0)
:number of rephotos;
:onclick;
partition #lightblue RephotoCompareView.dart {
:RephotoViewer;
}
detach
else (0)
end
endif
split again;
: Take photo button;
split again;
if (coordinates) then (yes)
if (show inline map?) then (yes)
partition #lightblue map.dart {
:inline map;
:onclick;
:fullscreen map;
detach
}
else (no)
:infotext;
detach
endif
else (no)
:infotext;
detach
endif
end split
}
repeat
partition #lightGreen camera.dart {
:Camera;
split
:historical photo overlay;
detach
split again
:camera stream;
detach
split again
:buttons/gestures;
split
:flip;
detach
split again
: scale;
detach
split again
:transparency;
detach
split again
:take photo;
end split;
end split;
}
partition #lightGreen preview.dart {
:Preview;
:Buttons/gestures;
split
:retake photo button;
split again
:save photo button;
split again
:return to photoview button;
end split
}
repeat while (retake photo button) is (return to camera)
repeat while (save photo button) is (return to photoview) not (save photo)
partition #lightGreen upload.dart {
:Save photos;
split
:Gallery;
split again
:Share;
split again
:upload handlers;
split
:Wikimedia Commons;
split again
:Ajapaik;
end split
if (logged in) then (no)
partition #lightblue login.dart {
:login;
}
endif
:do background upload;
end split
}
repeat while (return to Photoview)
detach
@enduml