@startuml group Case 'Register' Client-> App: Fill forms alt validate forms data else invalid data App->Client: show error messages else data valid App->Database: get user data by email / username alt check user already exist? Database->App: receive the data if exist or no else if exist App->Client: show message that user already registered else if not exist App->App: hash password App->Database: save data into database App->Client: success register end end end group Case 'Login' Client-> App: Fill forms ( email and password ) alt validate forms data else invalid data App->Client: show error messages else data valid App->Database: get user data by email Database->App: received data App->Client: send user data via token end end group Case 'Get Profiles' Client-> App: Get List into App alt check if include token else if no token App->Client: show message required token else has token alt check if token valid else if invalid token App->Client: show message invalid token else token valid App->App: verify token and extract the token into user data App->Database: check user membership into database Database->App: received membership info App->Database: count current user for swipes by today Database->App: received data count swipes alt compare membership else if free user and count swipes already 10 App->Client: show message free user already swipes 10 times today else if free user and count swipes not 10 by today App->Database: get data account which not swiped before for today Database->App: received the list profile App->Client: show list profiles else if premium or gold membership App->Database: get data account which not swiped before for today Database->App: received the list profile App->Client: show list profiles end end end group Case 'Swipe Profiles' Client-> App: Swipe the target profile alt check if include token else if no token App->Client: show message required token else has token alt check if token valid else if invalid token App->Client: show message invalid token else token valid App->App: verify token and extract the token into user data App->Database: check user membership into database Database->App: received membership info App->Database: count current user for swipes by today Database->App: received data count swipes alt compare membership else if free user and count swipes already 10 App->Client: show message free user already swipes 10 times today else if free user and count swipes not 10 by today App->Database: check if target profile already swipes by today Database->App: received the data alt is target profile already swipes by today else if already swipes today App->Client: show message target profile already swiped by today else if not yet App->Database: save the data swipe Database->App: send response App->Client: show success message end else if premium or gold membership App->Database: check if target profile already swipes by today Database->App: received the data alt is target profile already swipes by today else if already swipes today App->Client: show message target profile already swiped by today else if not yet App->Database: save the data swipe Database->App: send response App->Client: show success message end end end end end @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art