┌──────┐ ┌───┐ ┌────────┐ │Client│ │App│ │Database│ └───┬──┘ └─┬─┘ └────┬───┘ ╔═════════════════╤══════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ Case│'Register' │ │ │ ║ ╟─────────────────┘ │ │ ║ ║ │ │ Fill forms │ │ ║ ║ │──────────────────────────────────────────────────────>│ │ ║ ║ │ │ │ │ ║ ║ ╔═════════════════════════╤══════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ alt validate forms data │ │ │ ║ ║ ║ ╟─────────────────────────┘ │ │ ║ ║ ║ ║─ invalid data │─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ │ │ show error messages │ │ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║─ data valid ─│─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ │ │ │ │ get user data by email / username │ ║ ║ ║ ║ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ╔═══════════════════════════════╤════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ alt check user already exist? │ │ │ ║ ║ ║ ║ ║ ╟───────────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ receive the data if exist or no │ ║ ║ ║ ║ ║ ║ │ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║─│if exist ─│─ ─ ─ ─ ─│─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ │ show message that user already registered │ │ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║─│if not exist ─ ─ ─ ─│─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ │ │ │ │ │────┐ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ hash password │ ║ ║ ║ ║ ║ ║ │ │ │ │ │<───┘ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ save data into database │ ║ ║ ║ ║ ║ ║ │ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ │ │ success register │ │ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ╚═══════════════════════════════╧════════════════════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ╚═════════════════════════╧══════════════════════════════════════════════════════════════════════════════════════════════╝ ║ ╚═════════════════╧══════════════════════════════════════════════════════════════════════════════════════════════════════════╝ ╔══════════════╤═════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ Case 'Login' │ │ │ ║ ╟──────────────┘ │ │ ║ ║ │ │Fill forms ( email and password ) │ │ ║ ║ │──────────────────────────────────────────────────────>│ │ ║ ║ │ │ │ │ ║ ║ ╔═════════════════════════╤══════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ alt validate forms data │ │ │ ║ ║ ║ ╟─────────────────────────┘ │ │ ║ ║ ║ ║─│invalid data ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ │ │ show error messages │ │ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║─│data valid ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ │ │ │ │ get user data by email │ ║ ║ ║ ║ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ received data │ ║ ║ ║ ║ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ │ │ send user data via token │ │ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ╚═════════════════════════╧══════════════════════════════════════════════════════════════════════════════════════════╝ ║ ╚══════════════╧═════════════════════════════════════════════════════════════════════════════════════════════════════════╝ ╔═════════════════════╤══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ Case 'Get Profiles' │ │ │ ║ ╟─────────────────────┘ │ │ ║ ║ │ │ Get List into App │ │ ║ ║ │──────────────────────────────────────────────────────>│ │ ║ ║ │ │ │ │ ║ ║ ╔════════════════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ alt check if include token │ │ │ ║ ║ ║ ╟────────────────────────────┘ │ │ ║ ║ ║ ║─ if no token ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ │ │ show message required token │ │ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║─ has│token ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ╔══════════════════════════╤═════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ alt check if token valid │ │ │ ║ ║ ║ ║ ║ ╟──────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║─ if invalid token ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ │ │ show message invalid token │ │ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║─ token valid ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ │ │ │ │────┐ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ verify token and extract the token into user data │ ║ ║ ║ ║ ║ ║ │ │ │ │<───┘ │ ║ ║ ║ ║ ║ ║ │ │ │ │ check user membership into database │ ║ ║ ║ ║ ║ ║ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ │ │ │ │ received membership info │ ║ ║ ║ ║ ║ ║ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ │ │ │ │ count current user for swipes by today │ ║ ║ ║ ║ ║ ║ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ │ │ │ │ received data count swipes │ ║ ║ ║ ║ ║ ║ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ╔════════════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ ║ ║ alt compare membership │ │ │ ║ ║ ║ ║ ║ ║ ║ ╟────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║ ║ ║─│if free user and count swipes already 10 ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ │ show message free user already swipes 10 times today │ │ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║─│if free user and count swipes not 10 by today ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ get data account which not swiped before for today │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ received the list profile │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ show list profiles │ │ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║─│if premium or gold membership ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ get data account which not swiped before for today │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ received the list profile │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ show list profiles │ │ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ╚════════════════════════╧═══════════════════════════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ║ ║ ╚══════════════════════════╧═════════════════════════════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ╚════════════════════════════╧═══════════════════════════════════════════════════════════════════════════════════════════════╝ ║ ║ ╔═══════════════════════╤════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ Case 'Swipe Profiles' │ │ │ ║ ║ ║ ╟───────────────────────┘ │ │ ║ ║ ║ ║ │ │ │ Swipe the target profile │ │ ║ ║ ║ ║ │──────────────────────────────────────────────────────>│ │ ║ ║ ║ ║ │ │ │ │ │ ║ ║ ║ ║ ╔════════════════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ alt check if include token │ │ │ ║ ║ ║ ║ ║ ╟────────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║─ if no│token ─ ─│─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ │ │ │show message required token │ │ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║─ has token ─ ─ ─│─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ╔══════════════════════════╤═════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ ║ ║ alt check if token valid │ │ │ ║ ║ ║ ║ ║ ║ ║ ╟──────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║ ║ ║─ if invalid token │─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │show message invalid token │ │ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║─ token valid ─│─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │────┐ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ verify token and extract the token into user data │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │<───┘ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ check user membership into database │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ received membership info │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ count current user for swipes by today │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ received data count swipes │ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ╔════════════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ ║ ║ ║ ║ alt compare membership │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╟────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║─ if free user and count swipes already 10 ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ show message free user already swipes 10 times today │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║─ if free user and count swipes not 10 by today ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ check if target profile already swipes by today │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ received the data │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╔═══════════════════════════════════════════════╤════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ alt is target profile already swipes by today │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╟───────────────────────────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║─│if already swipes today ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ show message target profile already swiped by today │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║─│if not yet ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ save the data swipe │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ send response │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ show success message │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚═══════════════════════════════════════════════╧════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║─ if premium or gold membership ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ check if target profile already swipes by today │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ received the data │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╔═══════════════════════════════════════════════╤════════════════════════════════════════════════════════════════════╗ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ alt is target profile already swipes by today │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╟───────────────────────────────────────────────┘ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║─│if already swipes today ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ show message target profile already swiped by today │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║─│if not yet ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ save the data swipe │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │───────────────────────────────────────────────────────>│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ send response │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │<───────────────────────────────────────────────────────│ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ show success message │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │<──────────────────────────────────────────────────────│ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ │ │ │ │ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚═══════════════════════════════════════════════╧════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚════════════════════════╧═══════════════════════════════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ║ ║ ║ ║ ╚══════════════════════════╧═════════════════════════════════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ║ ║ ╚════════════════════════════╧═══════════════════════════════════════════════════════════════════════════════════════════════════╝ ║ ║ ║ ╚═══════════════════════╧════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ ║ ╚═════════════════════╧══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝ ┌───┴──┐ ┌─┴─┐ ┌────┴───┐ │Client│ │App│ │Database│ └──────┘ └───┘ └────────┘