2.5 KiB
2.5 KiB
nKode Enrollment
sequenceDiagram
participant User
participant Client
participant Server
Note over User,Client: Enrollment
Client->>User: Signup Form
Note left of User: email: user@example.com
User->>Client: Submit Email
Client->>+Server: Signup Session: user@example.com
Server->>Server: Create Signup Session
Note over User,Client: Set nKode
Server-->>-Client: signup_session_id, set_keypad, icons
Note left of Server: signup_session_id:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104
Note left of Server: set_keypad:<br/>Key 0: [ 7 14 3 28 23]<br/>Key 1: [ 1 26 15 10 5]<br/>Key 2: [13 20 27 4 29]<br/>Key 3: [25 8 21 16 11]<br/>Key 4: [19 2 9 22 17]<br/>
Note left of Server: Icons:<br/>[😀,😂,🥳,😍,🤓<br/>😎,🥺,😡,😱,🤯<br/>🥰,😴,🤔,🙃,😇<br/>🤖,👽,👾,🐱,🐶<br/>🦁,🐻,🐸,🐙,🦄<br/>🌟,⚡,🔥,🍕,🎉]
Client->>Client: Order Icons by keypad
Client->>User: Display Keypad
Note left of Client: Key 0: ['😡' '😇' '😍' '🍕' '🐙']<br/>Key 1: ['😂' '⚡' '🤖' '🥰' '😎']<br/>Key 2: ['🙃' '🦁' '🔥' '🤓' '🎉']<br/>Key 3: ['🌟' '😱' '🐻' '👽' '😴']<br/>Key 4: ['🐶' '🥳' '🤯' '🐸' '👾']<br/>
Note left of User: User icons: ['😍' '🤓' '😇' '😡']
User->>Client: Set Key Selection: [0, 2, 0, 0]
Client->>+Server: Set nKode:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104<br/>[0, 2, 0, 0]
Server->>Server: Disperse Set Keypad
Note over User,Client: Confirm nKode
Server-->>-Client: signup_session_id, confirm_keypad, icons
Note left of Server: signup_session_id:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104
Note left of Server: confirm_keypad:<br/>Key 0: [ 7 26 21 4 17]<br/>Key 1: [19 20 3 16 5]<br/>Key 2: [ 1 8 9 28 29]<br/>Key 3: [13 14 15 22 11]<br/>Key 4: [25 2 27 10 23]<br/>
Client->>Client: Order Icons by keypad
Client->>User: Display Keypad
Note left of Client: Key 0: ['😡' '⚡' '🐻' '🤓' '👾']<br/>Key 1: ['🐶' '🦁' '😍' '👽' '😎']<br/>Key 2: ['😂' '😱' '🤯' '🍕' '🎉']<br/>Key 3: ['🙃' '😇' '🤖' '🐸' '😴']<br/>Key 4: ['🌟' '🥳' '🔥' '🥰' '🐙']<br/>
Note left of User: User icons: ['😍' '🤓' '😇' '😡']
User->>Client: Key Selection: [1, 0, 3, 0]
Client->>+Server: Confirm nKode:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104<br/>[1, 0, 3, 0]
Server->>Server: Create User
Server-->-Client: Success